首先,要根据id删除数组中的对象,我们需要对该数组进行遍历,并找到该对象所在的索引位置。接下来,我们可以使用splice()函数删除该位置的对象。
首先,要根据id删除数组中的对象,我们需要对该数组进行遍历,并找到该对象所在的索引位置。接下来,我们可以使用splice()函数删除该位置的对象。
具体步骤如下:
- 定义一个数组,包含多个对象,每个对象都有一个id属性。
let arr = [
{id: 1, name: 'Tom'},
{id: 2, name: 'Jerry'},
{id: 3, name: 'Mickey Mouse'}
];
- 定义一个函数,用于删除指定id的对象。
function removeById(arr, id) {
for (let i = 0; i < arr.length; i++) {
if (arr[i].id === id) {
arr.splice(i, 1);
break;
}
}
return arr;
}
- 调用函数进行删除。
console.log(removeById(arr, 2));
// [{id: 1, name: 'Tom'}, {id: 3, name: 'Mickey Mouse'}]
在以上的示例中,我们首先给出了一个包含了多个对象的数组,每个对象都有自己的id属性。接下来,我们定义了一个函数removeById来删除指定id的对象。在该函数中,我们使用了for循环遍历数组,并通过if语句判断当前对象的id是否与传入参数的id相等。如果相等,则使用Array原型中的splice()函数删除该对象,并调用break语句跳出循环。最后,我们调用removeById函数删除id为2的对象,并打印出结果。
另外一个示例参考:
let arr = [
{id: '001', name: 'Tom'},
{id: '005', name: 'Jerry'},
{id: '009', name: 'Mary'},
{id: '002', name: 'Mike'},
{id: '004', name: 'Daisy'}
];
function removeById(arr, id) {
for (let i = 0; i < arr.length; i++) {
if (arr[i].id === id) {
arr.splice(i, 1);
return arr;
}
}
console.log(`Object with id=${id} was not found in arr!`);
return null;
}
console.log(removeById(arr, '009'));
console.log(removeById(arr, '008'));
以上代码中,我们定义了一个与之前不同的数组对象,每个对象的id属性是一个字符串。定义的removeById函数用于删除该数组中指定id的对象,在匹配到指定id的元素后,使用splice函数删除,并返回删除后的数组。若未匹配到指定id的元素,打印一段提示信息,并返回null。
代码运行结果为:
本文标题为:js如何根据id删除数组中对象
基础教程推荐
- 关于前端ajax请求的优雅方案(http客户端为axios) 2023-02-14
- 学习笔记(二)主要是一些HTML的标签学习 2023-10-26
- Ajax基础与登入教程 2023-01-31
- 解决ajax传过来的值后台接收不到的问题 2023-02-14
- 解决swiper8轮播插件无法修改左右切换按钮样式问题 2023-08-29
- 前端从浏览器的渲染到性能优化 2022-11-16
- vue 路由 取数据 2023-10-08
- 使用 IntraWeb (28) - 基本控件之 TIWTemplateProcessorHTML、TIWLayoutMgrHTML、TIWLayoutMgrForm 2023-10-26
- AjaxToolKit之Rating控件的使用方法 2023-01-20
- HTML常用标签之表格单元格合并 2022-08-25
