- 162浏览
- 2022-05-07
有这么一个数组:
const arr = [
{ id: 1, value: 2 },
{ id: 2, value: 3 },
...
];
想删除数组里 id=8 的元素,如何方便快捷的实现。findIndex
findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回 -1。
arr.splice(arr.findIndex(item => item.id === 8), 1)
这个有问题,假如返回 -1 则直接把数组的最后一项给删除了,所以需要判断存在(不为 -1 )才执行。filter
filter() 方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。
arr = arr.filter(({ id }) => id !== 8);
封装一个遍历的方法
arr.forEach((val, i) => {
if (val.id === 8) {
arr.splice(i, 1)
}
})
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。