Javascript 从数组数组中删除对象

Javascript 从数组数组中删除对象,javascript,arrays,Javascript,Arrays,我只想从该数据结构中删除spectplitemdrop()函数参数项: this.areas: items: item: 代码: 新数组应与旧数组相同,减去一项。但这是非常不同的: 我做错了什么?输入是一个对象数组,但是您从.map()调用返回的是数组而不是对象。您需要返回原始对象的副本以及新的项目数组 function specTplItemDropped(index, item, external, type, area1) { let newAr

我只想从该数据结构中删除
spectplitemdrop()
函数参数

this.areas:
      items:
          item:
代码:

新数组应与旧数组相同,减去一项。但这是非常不同的:


我做错了什么?

输入是一个对象数组,但是您从
.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);
}

您可以共享输入数据和输出数据吗?(无图像)看起来您的输入数据不是一个数组数组,而是一个对象数组(此处为参考资料),那么他的itemCount变量将具有错误的值。也许这对OP很重要
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);
}