var myList = [];
myList.push({ololo: "ololo0"});
myList.push({ololo: "ololo1"});
myList.push({ololo: "ololo2"});
console.log(myList);
结果:
[Object { ololo="ololo0"}, Object { ololo="ololo1"}, Object { ololo="ololo2"}]
问题:如何删除第二个(myList[1]
)元素,没有间隙?
即:
myList[0] = {ololo: "ololo0"}
myList[1] = {ololo: "ololo1"}
myList[2] = {ololo: "ololo2"}
应该是:
myList[0] = {ololo: "ololo0"}
myList[1] = {ololo: "ololo2"}
答案 0 :(得分:3)
您可以使用Splice
http://viralpatel.net/blogs/javascript-array-remove-element-js-array-delete-element/
你可以使用下面的这个功能
function removeByIndex(arr, index) {
arr.splice(index, 1);
}
这是如何使用它
var mynewArray = removeByIndex(myList,1);
答案 1 :(得分:2)
试试这个:
删除不会做的伎俩。但Array.splice可以解决问题。
myList.splice(index,1)
答案 2 :(得分:2)
var myList = [];
myList.push({ololo: "ololo0"});
myList.push({ololo: "ololo1"});
myList.push({ololo: "ololo2"});
console.log(myList);
console.log(remove(myList,1));
function remove(arr, index){
arr.splice(index,1);
return arr;
}
答案 3 :(得分:1)
使用splice
:
array.splice(index , howMany[, element1[, ...[, elementN]]])
更改数组的内容,在删除时添加新元素 旧元素。
删除第二个元素:myList.splice(1, 1)
。
答案 4 :(得分:-1)
这是您期望的和您想要的
如果您使用适合您的splice
var myList = [];
myList.push({ololo: "ololo0"});
myList.push({ololo: "ololo1"});
myList.push({ololo: "ololo2"});
///////////////////////splice IS APPLIED////////////////////////////
myList.splice(0, 1)
///////////////////////////////////////////////////////////////////
console.log(myList);
输出(请注意,索引0已完全删除!)
[Object { ololo=
"ololo1"
},
Object { ololo=
"ololo2"
}]
如果您使用delete
,它将不适合您!这就是它的样子!
var myList = [];
myList.push({ololo: "ololo0"});
myList.push({ololo: "ololo1"});
myList.push({ololo: "ololo2"});
////////////////DELETE IS APPLIED///////////////////////////////////
delete myList[0]
////////////////////////////////////////////////////////////////////
console.log(myList);
输出:(主要在索引0处查看未定义)
[
undefined
, Object { ololo=
"ololo1"
}, Object { ololo=
"ololo2"
}]