从关联数组中删除值

Nir*_*han 27 javascript arrays object

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

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

将此视为一个数组

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

现在我只想删除util2.我怎么能这样做,我尝试使用,delete但它没有用.

谁能帮我?

0x4*_*2D2 7

使用splice方法:

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

object.utils.splice(1, 1);
Run Code Online (Sandbox Code Playgroud)

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

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:techfoobar的答案似乎比我的更惯用.考虑使用他而不是.


tec*_*bar 5

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

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