gpt4 book ai didi

javascript - 从javascript中的数组中删除对象

转载 作者:行者123 更新时间:2023-11-30 08:41:53 25 4
gpt4 key购买 nike

我有这个包含简单对象的数组

var data = [
{type:1, owner:"jason"},
{type:1, owner:"john"},
{type:2, owner:"jason"},
{type:2, owner:"alice"},
{type:2, owner:"bob"},
{type:2, owner:"clark"},
{type:1, owner:"david"}
]

我正在尝试遍历数组并仅删除类型为:1 的元素。这是我尝试过的。

for(var i = 0; i < data.length; i++){
if(data[i].type === 1){
data.splice(i,1)
}
}

如果我假设在该循环运行后所有类型 1 元素都将从数组中删除,那我是不是很愚蠢。在 chrome 开发工具中运行后,该数组仍然包含 {type:1, owner:"jason"} 并且所有 type:2 都按预期保持不变。我做错了什么?

最佳答案

你必须在拼接后递减i

i--;

顺便说一句,我只想使用过滤器并将结果分配给相同的 data 变量,如下所示

data = data.filter(function(obj) {
return obj.type !== 1;
})

console.log(data);

关于javascript - 从javascript中的数组中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25582358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com