如何取消在JavaScript中的数组中的元素?
如何从数组foo删除键'bar',以便'bar'不会显示出来
for(key in foo){alert(key);}
不要使用删除,因为它不会从数组中删除一个元素,它只会将其设置为未定义,这将不会被正确反映在数组的长度。
如果你知道键,你应该使用拼接即
myArray.splice(key, 1);
对于史蒂文的职位你可以尝试这样的事情:
for (var key in myArray) { if (key == 'bar') { myArray.splice(key, 1); } }
要么
for (var key in myArray) { if (myArray[key] == 'bar') { myArray.splice(key, 1); } }
delete foo[key];
:d
一个重要的注意事项:JavaScript数组不是像PHP那样的关联数组。 如果您的“数组键”是一个string,您不再操作数组的内容。 你的数组是一个对象,而你使用括号表示来访问名为<key name>的成员。 从而:
var myArray = []; myArray [“bar”] = true; myArray [“foo”] = true; 警报(myArray.length); //返回0
因为你没有添加元素到数组中,所以你只修改了myArray的bar和foo成员。
如果你知道关键的名字就像这样:
delete array['key_name']
http://www.internetdoc.info/javascript-function/remove-key-from-array.htm
removeKey(arrayName,key); function removeKey(arrayName,key) { var x; var tmpArray = new Array(); for(x in arrayName) { if(x!=key) { tmpArray[x] = arrayName[x]; } } return tmpArray; }
这是我将如何做到这一点
myArray.splice( myArray.indexOf('bar') , 1)