如何通过id从数组中删除对象,例如:
users = [{id: "10051", name: "Mike Coder"},{id: "4567", name: "Jhon Second"}]
假设我要使用javascript删除ID为“10051”的用户,我尝试在网上搜索但找不到任何内容?
加上我不想使用下划线!
答案 0 :(得分:4)
加上我不想使用下划线!
本机方法是.filter()
:
var removeId = "4567";
users = users.filter(function (user) { return user.id !== removeId; });
请注意,它需要引擎为ES5-compatible(或polyfill)。
答案 1 :(得分:2)
for (var i = 0; i < users.length; ++i)
{
if ( users[i].id == "10051" )
{
users[i].splice(i--, 1);
}
}
答案 2 :(得分:2)
您可以使用.filter
数组方法。
users = users.filter(function(el) {return el.id !== '10051'});
答案 3 :(得分:1)
var users= [{id:"10051", name:"Mike Coder"},{id:"4567", name:"Jhon Second"}];
/* users.length= 2 */
function removebyProperty(prop, val, multiple){
for(var i= 0, L= this.length;i<L;i++){
if(i in this && this[i][prop]=== val){
this.splice(i, 1);
if(!multiple) i= L;
}
}
return this.length;
}
<强> removebyProperty.call(用户, 'ID', “10051”); 强>
返回值:(数字)1