Remove value from associative array
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Remove specific element from a javascript array?
我有一个数组,我想从中删除一个值。
将此作为数组
现在我只想删除
有人能帮我吗?
使用
1 2 3 | var object = { 'utils': [ 'util1', 'util2' ] } object.utils.splice(1, 1); |
如果您不知道数组元素的实际位置,那么需要迭代数组并从中拼接元素。尝试以下方法:
1 2 3 4 5 6 7 8 9 | 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的答案似乎比我的更为惯用。考虑用他的代替。
您可以将
1 2 3 4 | var toDelete = object.utils.indexOf('util1'); if(toDelete != -1) { object.utils.splice(toDelete, 1); } |
我认为在JavaScript中没有所谓的关联数组。它实际上是一个物体。
1 | [ 'utils': [ 'util1', 'util2' ] ] |
对于这一行,我认为它不会编译。你应该改写这个。
1 | var obj = { 'utils': [ 'util1', 'util2' ] } |
因此,要删除数组(内部数组)中的元素"util2",有两种方法。
使用POP()
1 | obj["utils"].pop(); // obj["utils"] is used to access the"property" of the object, not an element in associative array |
减少长度
1 | obj["utils"].length --; |