js如何根据id删除数组中对象
作者:落笔映浮华H
这篇文章主要介绍了js如何根据id删除数组中对象的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
js根据id删除数组中对象
使用findIndex找到数据位置后使用splice将其裁切。
arr.splice(arr.findIndex(item => item.id=== 1), 1)
filter方法:创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
this.list = this.list.filter((item) => { return item.id != id });
js根据id数组,删除对象数组中的指定项
const arr = '1' const allArr = [ {id:1,name:'张三'} {id:4,name:'李四'} ] 最终结果: //screenArr = [{id:4,name:"李四"}]; 实现如下: const screenArr = allArr.filter((item) => { return !arr.includes(item.id) });
代码解析:
filter方法:创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
语法:
array.filter(function(currentValue,index,arr), thisValue) //filter() 不会改变原始数组
参数说明:
currentValue 必须。当前元素的值
currentValue | 必须。当前元素的值 |
index | 可选。当前元素的索引值 |
arr | 可选。当前元素属于的数组对象 |
includes方法:includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
[1, 2, 3].includes(2); // true
注意:
以上代码的意思就是说:使用filter创建一个新的数组(可以理解为是复制了allArr),遍历这个数组(allArr),找到匹配的数据之后,取反,所以这里return出去false,就过滤掉了
总结
这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。