先在methods下写一个filter过滤的方法

unique(arr) { // 根据唯一标识orderId来对数组进行过滤
        console.log(arr);
        const res = new Map();  //定义常量 res,值为一个Map对象实例
        //返回arr数组过滤后的结果,结果为一个数组   过滤条件是,如果res中没有某个键,就设置这个键的值为1
        return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1))
},

使用过滤方法

this.list = this.unique(this.list);

 

根据id删除数组元素

del(id){
        //ES6
        //根据id查找元素 findIndex
        //let index = arr.findIndex(function(ele,index,arr){return ele.id==id})
        //函数内如果返回true,就结束遍历并返回当前index;
        //index如果没有找到返回-1
        let index = this.list.findIndex((ele) =>{
          return ele.id === id;
        });
        //假设没有找到
        console.log(index);
        if(index === -1){
          return console.log('删除失败');
        }
        //删除元素
        this.list.splice(index,1);
        console.log(this.list)
}

 

Logo

前往低代码交流专区

更多推荐