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。顺便说一句,数组中会有很多语法错误。我知道语法不正确,在这种情况下语法并不重要,这里的主要问题是解决方案(谢谢)