删除array [x]删除值但不删除整个元素

时间:2015-10-25 10:51:11

标签: javascript

我有一个具有重复值的对象,因此我使用delete new_object [1]来删除该值,但是当我在控制台中看到它时,它在对象0800中显示未定义

["293", undefined, "298", "297"]

4 个答案:

答案 0 :(得分:4)

你应该使用

arr.splice(index, 1);

delete仅删除元素,但保留索引。 This question性质相似,提供了更多信息。

答案 1 :(得分:1)

我认为你应该使用 splice

a = ["1","2","3"];
a.splice(1,0)
console.log(a) //["1","3"]

答案 2 :(得分:1)

var test = [1,2,3,4];

删除测试[1];

现在如果您打印测试变量,您将获得

=> [1,3,4]

这就是为什么你有未定义的

像这里的每个人都在回答一样,你应该使用拼接

test.splice(1,1);

现在打印测试变量会给你

=> [1,3,4,5]

答案 3 :(得分:1)

您需要使用 splice()才能从数组中删除值。你正在做的只是将其设置为未定义。

var myArray = ['295', '296', '297', '298'];

// removes 1 element from index 2
var removed = myArray.splice(2, 1);
// myArray is ['295', '296', '298'];
// removed is ['297']
来自Array.splice

参考

  

splice()方法通过删除来更改数组的内容   现有元素和/或添加新元素。