javascript - 从元素相等的数组中删除元素

标签 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_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/

相关文章:

ios - 传递 NSArray 使数组为空

arrays - 去模板绑定(bind)常量数组值

JavaScript 对象在 FireBug 中可见,在代码中不可访问

java - 如何在 selenium webdriver 中选择周范围值

C++ 将文本文件读入数组

javascript - jquerymobile。双执行函数

javascript - .removeAttr() 不从选项卡中删除数据切换

javascript - 发布后调用 jQuery Get

javascript - 如何在 qUnit 中针对 DOM 对象进行测试?

javascript - 使用 Service 从 JSON 读取特定 key