从关联数组中删除值

可能重复:
从javascript数组中删除特定的元素?

我有一个数组,我想从中删除一个值。

考虑这是一个数组

[ 'utils': [ 'util1', 'util2' ] ]

现在我只想删除util2 。 我该怎么做,我尝试使用delete但它没有工作。

谁能帮我?


使用splice方法:

var object = { 'utils': [ 'util1', 'util2' ] }

object.utils.splice(1, 1);

如果您不知道数组元素的实际位置,则需要遍历数组并从中拼接元素。 尝试以下方法:

for (var i = object.utils.length; i--;) {
    var index = object.utils.indexOf('util2');

    if (index === -1) break;

    if (i === index) {
        object.utils.splice(i, 1); break;
    }
}

更新:techfoobar的答案似乎比我更习惯。 考虑用他的代替。


您可以在Array.splice()组合中使用Array.indexOf()来获得所需的行为,而不必遍历数组:

var toDelete = object.utils.indexOf('util1');
if(toDelete != -1) {
    object.utils.splice(toDelete, 1);
}

我认为在Javascript中没有这种叫做关联数组的东西。 它实际上是一个对象。

[ 'utils': [ 'util1', 'util2' ] ]

对于这一行,我不认为它会编译。 你应该写这个。

var obj = { 'utils': [ 'util1', 'util2' ] }

因此,要移除数组(内部数组)中的元素“util2”,有两种方法。

  • 使用pop()

    obj["utils"].pop(); // obj["utils"] is used to access the "property" of the object, not an element in associative array
    
  • 减少长度

    obj["utils"].length --;
    
  • 链接地址: http://www.djcxy.com/p/3207.html

    上一篇: Remove value from associative array

    下一篇: How to remove specific element in array in javascript