可能重复:
从 javascript 数组中删除特定元素?
我有一个数组,我想从中删除一个值。
将其视为一个数组
[ 'utils': [ 'util1', 'util2' ] ]
现在我只想删除util2
. 我该怎么做,我尝试使用delete
但它没有用。
谁能帮我?
可能重复:
从 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”,有两种方法。
使用弹出()
obj["utils"].pop(); // obj["utils"] is used to access the "property" of the object, not an element in associative array
减少长度
obj["utils"].length --;