1
我需要使用打字稿克隆數組對象數組對象的變化,深性能有一定的價值,但是當我克隆它,它終於如何我可以在陣列對象打字稿深克隆數組對象
dokey(xData : any) {
_.keys(xData).forEach((x: any) => {
xData[x] = _.isArray(xData[x]) ? this.duplicateArray(xData[x]) : xData[x];
});
return xData;
}
duplicateArray(content: Object[]) {
let arr: any = [];
content.forEach((x: any) => {
arr.push(Object.assign({}, this.dokey(x)));
})
return arr;
}
mainFunc() {
let var1: any = [{ a: [{ q: '99' }, { w: '98' }] }, { b: '2' }];
let var2 = this.duplicateArray(var1);
var2[0].a[0].q = 'a002';
console.log(var1, var2);
}
參考應該不會重複,但重複的
我如何爲深克隆它做什麼?
是您的JSON對象序列化?如果是這樣,你可以調用'JSON.parse(JSON.stringify(var1))'來克隆它。 – jrossi
[在JavaScript中深入克隆對象的最有效方法是什麼?](http://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-deep-clone -an-對象中的JavaScript) – msanford