我在剃刀视图(javascript代码)中有对象数组.
var myArr;
在页面加载包含让我们说10个对象.
一个对象具有以下结构
- Id - Name
我怎么能从js数组中删除对象,知道它是Id?
试试这样吧
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
两个解决方案,一个是进化创建新实例,另一个是更改数组实例.
过滤:
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);