从数组中删除知道其id的对象
Remove object from array knowing its id
我有一个对象数组:
var myArr;
假设在页面加载时,它包含10个具有以下结构的对象:
{
Id: …,
Name: …
}
如何通过对象的Id
从myArr
中删除对象?
像这样尝试
var id = 2;
var list = [{
Id: 1,
Name: 'a'
}, {
Id: 2,
Name: 'b'
}, {
Id: 3,
Name: 'c'
}];
var index = list.map(x => {
return x.Id;
}).indexOf(id);
list.splice(index, 1);
console.log(list);
JSFIDDLE
或者您可以使用.filter()
像这个
var id = 2;
var list = [{
Id: 1,
Name: 'a'
}, {
Id: 2,
Name: 'b'
}, {
Id: 3,
Name: 'c'
}];
var lists = list.filter(x => {
return x.Id != id;
})
console.log(lists);
DEMO
两个解决方案,一个是进化创建新实例,另一个是更改数组的实例。
过滤器:
idToRemove = DESIRED_ID;
myArr = myArr.filter(function(item) {
return item.Id != idToRemove;
});
如您所见,filter
方法返回已筛选数组的新实例。
第二种选择是找到项目的索引,然后使用splice
:将其删除
idToRemove = DESIRED_ID;
index = myArr.map(function(item) {
return item.Id
}).indexOf(idToRemove);
myArr.splice(index, 1);
你能试试吗
newArray = myArr
.filter(function(element) {
return element.id !== thisId;
});
相关文章:
- 识别没有ID或特定属性的对象
- Html地图对象-点击地图获取id的一部分
- 更改嵌套对象的父子相关id
- 如何循环通过2个对象数组并通过匹配id进行合并
- 保存id数组's而不是对象
- 如何通过json对象选项卡中的Id来检查对象是否存在
- 通过知道对象的id在JSON中查找对象
- 如何排除对象'在$.toJSON之前或期间的s id属性
- 如何从对象中获取id
- 如何通过ID获取图层对象
- 将URL字符串${userid}替换为javascript对象中的实际用户id
- 将对象数组与id数组进行比较
- 如何查找流星集合中最后一个元素/对象的id
- 如何将id数组与带下划线的对象数组嵌套属性进行比较
- 筛选具有相同id的多个数组中的对象
- AngularJS-点击对象,访问它's ID&以该ID作为参数激发函数
- 我想使用Javascript中的循环在HTML中的特定id中显示数组中的多个对象
- 在不重构Mongo数据库的情况下,更新嵌入数组中的具有给定ID的对象
- 有没有一种简单的方法可以用包含id和名称(从a到Z)的对象填充数组
- 如何隐藏#id对象