我只想从此数据结构中删除specTplItemDropped()
函数参数item
:
this.areas:
items:
item:
代码:
public specTplItemDropped(index, item, external, type, area1) {
let newArray = this.areas.map(areaV => {
let a = areaV.items.filter(itemV => {
let b = itemV.id !== item.id;
return b;
});
return a;
});
console.log(newArray);
新数组应与旧数组相同,减去一个项目。但它是非常不同的:
我做错了什么?
答案 0 :(得分:1)
输入是一个对象数组,但您要从.map()
调用返回一个数组而不是一个对象。您需要使用新的项目数组返回原始对象的副本。
function specTplItemDropped(index, item, external, type, area1) {
let newArray = this.areas.map(areaV => {
let a = areaV.items.filter(itemV => {
let b = itemV.id !== item.id;
return b;
});
return Object.assign({items: a, itemCount: a.length}, areaV);
});
console.log(newArray);
}