根据值从索引数组中删除元素

Delete element from indexed array based on value

本文关键字:删除 元素 数组 索引      更新时间:2023-09-26

如何根据值从索引数组中删除元素

例:

var add = { number1: 'hello' , number2: "Haii", number3: "Byee" };

现在我想删除具有值Haii的元素。

我们可以不使用 for 循环进行迭代吗?

var add = {
    number1: 'hello',
    number2: "Haii",
    number3: "Byee"
};
for (var x in add) {
    if (add[x] == "Haii") {
        add[x].remove();
    }
}

我们可以不使用 fir 循环进行迭代吗?

  1. 首先,获取与值 Haii 对应的所有键。

    var filteredKeys = Object.keys(add).filter(function(currentKey) {
        return add[currentKey] === "Haii";
    });
    
  2. 然后,从add中删除所有这些密钥

    filteredKeys.forEach(function(currentKey) {
        delete add[currentKey];
    });
    

根本没有明确的循环:-)

我们可以将上面看到的两步过程简化为一步过程,就像这样

Object.keys(add).forEach(function(currentKey) {
    if (add[currentKey] === "Haii") {
        delete add[currentKey];
    }
});

同样,没有明确的循环:-)

var add = {
    number1: 'hello',
    number2: "Haii",
    number3: "Byee"
};
for (var i in add) {
    if (add[i] == "Haii") {
        delete add[i];
    }
}

试试这个: