从JavaScript数组中移除对象?

39 浏览
0 Comments

从JavaScript数组中移除对象?

这个问题已经有了答案

可能是重复的问题:

从JavaScript数组中删除特定元素?

具体来说,我有一个如下的数组:

var arr = [
    {url: 'link 1'},
    {url: 'link 2'},
    {url: 'link 3'}
];

现在你想要移除值为\"link 2\"的元素,在移除后,数组如下所示:

arr = [
    {url: 'link 1'},
    {url: 'link 3'}
];

谁能帮我解决这个问题?非常感谢。

admin 更改状态以发布 2023年5月22日
0
0 Comments

使用splice函数从数组中删除一个元素:

arr.splice(1, 1);

如果你想根据元素的属性来移除数组中的一个元素,而不知道该元素的索引,你将需要遍历数组并遍历每个元素的每个属性:

for(var a = 0; a < arr.length; a++) {
    for(var b in arr[a]) {
        if(arr[a][b] === 'link 2') {
            arr.splice(a, 1);
            a--;
            break;
        }
    }
}

0
0 Comments

你可以使用过滤器。

var arr = [
  {url: "link 1"},
  {url: "link 2"},
  {url: "link 3"}
];
arr = arr.filter(function(el){
  return el.url !== "link 2";
});

PS:Array.filter方法在JavaScript 1.6中实现,由大多数现代浏览器支持。如果需要支持旧浏览器,你可以编写自己的方法。

0