1
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"}
4

5 回答 5

3

你可以使用拼接

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);
于 2013-04-10T08:45:16.710 回答
2

尝试这个:

删除不会解决问题。但是 Array.splice 可以解决问题。

myList.splice(索引,1)

于 2013-04-10T08:45:39.143 回答
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;
}

工作示例 http://jsfiddle.net/qzFuj/

于 2013-04-10T08:52:07.177 回答
1

使用splice

array.splice(index , howMany[, element1[, ...[, elementN]]])

更改数组的内容,在删除旧元素的同时添加新元素。

用于删除第二个元素:myList.splice(1, 1).

于 2013-04-10T08:44:16.130 回答
-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"

    }]
于 2013-04-10T08:49:35.277 回答