【发布时间】:2015-12-20 18:46:09
【问题描述】:
我正在尝试使用字符串索引从数组中删除特定元素 但我所有的元素都被删除了
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:
[]
在此链接 [1] 上找到的文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
没有明确说明索引是否必须是整数或其他任何东西
【问题讨论】:
-
数组不能有字符串键!
-
@Louy:是的,他们可以。但是,它们不能有字符串 indexes。
-
是的,我猜“key”是一个宾语。
-
已经有这么多答案了,我只是想知道,为什么需要将对象属性与数组混合?根据我的经验,我不需要将数组与对象混合。
-
splice() 不像 slice() 不会修改原始数组。 splice() 修改数组,并返回删除的元素,这就是为什么你有一个空数组。
标签: javascript arrays