use*_*862 29 javascript jquery
我在剃刀视图(javascript代码)中有对象数组.
var myArr;
Run Code Online (Sandbox Code Playgroud)
在页面加载包含让我们说10个对象.
一个对象具有以下结构
- Id
- Name
Run Code Online (Sandbox Code Playgroud)
我怎么能从js数组中删除对象,知道它是Id?
Ani*_*bhi 32
试试这样吧
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);
Run Code Online (Sandbox Code Playgroud)
udi*_*idu 10
两个解决方案,一个是进化创建新实例,另一个是更改数组实例.
过滤:
idToRemove = DESIRED_ID;
myArr = myArr.filter(function(item) {
return item.Id != idToRemove;
});
Run Code Online (Sandbox Code Playgroud)
如您所见,该filter方法返回已过滤数组的新实例.
第二个选项是找到项目的索引,然后将其删除splice:
idToRemove = DESIRED_ID;
index = myArr.map(function(item) {
return item.Id
}).indexOf(idToRemove);
myArr.splice(index, 1);
Run Code Online (Sandbox Code Playgroud)
你能试一下吗
newArray = myArr
.filter(function(element) {
return element.id !== thisId;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25665 次 |
| 最近记录: |