我试图在TypeScript中将循环对象转换为字符串。这是我的原始代码和错误信息:
app.component.ts:
updateList(list: any) {
this.demolist = Array.apply(this, list);
console.log('List - ' + JSON.stringify(this.demolist));
}
类型错误:循环对象值
然后,我在我的updateList()方法中尝试了以下代码:
const getCircularReplacer = () => {
const seen = new WeakSet();
return (key, value) => {
if (typeof value === "object" && value !== null) {
if (seen.has(value)) {
return;
}
seen.add(value);
}
return value;
};
};
console.log(JSON.stringify(this.demolist, getCircularReplacer()));
}
但现在我遇到了这个错误:
TypeError: toISOString属性不可调用
请问有没有人能告诉我需要做哪些更改才能显示this.listBase的内容?
以下是我的HTML代码:
<upload #fileUpload (listChange)="updateList($event)" data-kind="primary" restrictFiles=".pdf,.doc,.docx">
</upload>
<list #listBase [IncludeComponent]="inputComponent" [list]="demolist">
</list>
Date
对象进行了一些奇怪的操作。 - jcalzJSON.stringify(this.listBase)
,因为它试图序列化一个循环对象。console.log(JSON.stringify(this.listBase, getCircularReplacer()));
是新错误发生的地方。 - user9847788