我试图用字符串索引从我的数组中删除一个特定的元素,但我的所有元素都被删除
var myArray = new Array(); myArray['abc'] = 'abc'; myArray['cde'] = 'cde'; myArray['efg'] = 'efg'; console.log('before splice:'); console.log(myArray); myArray = myArray.splice('abc',1); console.log('after splice:'); console.log(myArray); before splice: [abc: "abc", cde: "cde", efg: "efg"] after splice: []
doc在此链接上找到[1]:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
没有明确说明索引必须是整数还是其他任何东西
你想要的不是数组而是对象.
var myObj = {}; myObj['abc'] = 'abc'; myObj['cde'] = 'cde'; myObj['efg'] = 'efg'; // and you can then delete myObj['abc'];
数组只能有整数索引.
var myArray = new Array(); myArray[0] = 'abc'; myArray[1] = 'cde'; myArray[2] = 'efg'; console.log('before splice:'); console.log(myArray); myArray.splice(myArray.indexOf('abc'),1); console.log('after splice:'); console.log(myArray);