如何取消在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)