Javascript 从元素相等的数组中删除元素
例如,我有这个数组Javascript 从元素相等的数组中删除元素,javascript,jquery,arrays,Javascript,Jquery,Arrays,例如,我有这个数组 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_na
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", ...}]
我想从uid=x的数组1中删除元素
我不知道怎么做
对于普通数组,我知道这种方法
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);
经典方式与旧浏览器兼容
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);
for(变量i=0;i
循环遍历阵列1中的所有元素。如果数组1的uid[i]=x,则将其添加到数组2。循环完成后,array1=array2。顺便说一句,数组中会有很多语法错误。我知道语法不正确,在这种情况下语法并不重要,这里的主要问题是解决方案(谢谢)