例如我有这个数组
var array1 = [{ uid=24433357, first_name="fname", last_name="lname", ...},
{ uid=4821888, first_name="fname", last_name="lname", ...},
{ uid=677614, first_name="fname", last_name="lname", ...},
{ uid=4789723, first_name="fname", last_name="lname", ...},
{ uid=444464, first_name="fname", last_name="lname", ...},
{ uid=767687867, first_name="fname", last_name="lname", ...}]
我想从 array1 中删除元素,其中 uid = x
我不知道怎么办?
对于普通数组我知道这个方法
array1.splice(index, count)
最佳答案
首先修复你的对象,语法都是错误的。见下文,然后使用 Array#filter 函数通过其 uid
var array1 = [{ uid:24433357, first_name:"fname", last_name:"lname"},
{ uid:4821888, first_name:"fname", last_name:"lname"},
{ uid:677614, first_name:"fname", last_name:"lname"},
{ uid:4789723, first_name:"fname", last_name:"lname"},
{ uid:444464, first_name:"fname", last_name:"lname"},
{ uid:767687867, first_name:"fname", last_name:"lname"}];
ES5 不适合旧浏览器
array1 = array1.filter(function(o){
return o.uid !== 24433357
});
经典方式兼容旧浏览器
for (var i = 0; i < array1.length; i++) {
if (array1[i].uid === 24433357) {
array1.splice(i, 1);
}
}
console.log(array1);
关于javascript - 从元素相等的数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378260/