删除数组中的一个元素并调整其大小

3
我希望删除数组中的一个元素并调整数组大小。
我使用了:
selectedproducts=jQuery.grep(selectedproducts, function(value) {
    return value != thisID;
});

但是selectedproducts的大小保持不变。
我使用:
console.log(selectedproducts.length);

在每次删除后打印selectedproductslength,但它并没有改变。
中是否有此功能? 编辑: 我有一个包含5个元素的数组。
在使用Felix的答案进行删除后,控制台中得到的内容:
Size:4 
["Celery", "Tomatoes", undefined, "Carrots"]
Size:3
["Celery", undefined, "Carrots"] 
Size:2 
[undefined, "Carrots"] 
Size:1
[undefined] 

编辑2:

我尝试了{{link1:vishakvkt}}的答案,可以正常工作。

控制台输出的内容:

Size:4 
["Beans", "Avocado", "Snow Peas", "Tomatoes"] 
Size:3 
["Avocado", "Snow Peas", "Tomatoes"] 
Size:2 
["Avocado", "Snow Peas"] 
Size:1 
["Snow Peas"] 
Size:0 
[] 

2
$.grep 对我来说很好用:http://jsfiddle.net/J4cVY/. - Felix Kling
1
可能是重复的问题:如何从 JavaScript 数组中删除特定元素? - Felix Kling
1个回答

6

您应该使用Array.splice(要移除的位置, 移除的项数)

因此,如果您有

   var a  = [1, 2, 3];
   a.splice(0, 1);  // remove one element, beginning at position 0 of the array
   console.log(a); // this will print [2,3]

3
文档链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice - John Dvorak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接