我是这样的数组
@observable data = [{a: 1}, {b: 1}, {c:1}];
@observable sampleData = [];
我想切片
this.sampleData = this.data .slice(0, 1);
this.sampleData[0].a = 2;
我希望“ 2”影响“ sampleData”中的记录而不是“ data”数组中的记录。
答案 0 :(得分:-1)
因此,您基本上想为每个切片元素创建一个副本。您可以这样做:
this.sampleData = this.data.slice(0, 1).map(obj => ({ ...obj }))
或使用Object.assign
:
this.sampleData = this.data.slice(0, 1).map(obj => Object.assign({}, obj))
请注意,这只是一个浅副本,因此,如果您的对象具有嵌套结构,则必须执行 deep 副本。