Javascript:使用slice()从数组中选择除一个项目之外的所有项目?

时间:2013-12-13 23:39:18

标签: javascript arrays slice

假设我有这个数组:

var myarray = [a, b, c, d, e];

我想选择数组中除c之外的所有项目。

var myselection = myarray.slice(3,5);

这仅选择d和e。我必须这样做:

var myselection = myarray.slice(3,5) + myarray.slice(0,2);

这选择了d,e,a和b,但是输出不能用作选择器,因为myselection现在在e和a之间没有逗号而写:“d,ea,b”

你知道解决这个问题的方法吗? 也许有负数?

非常感谢你的帮助! 利

3 个答案:

答案 0 :(得分:9)

使用concat:

myarray.slice(3,5).concat(myarray.slice(0,2))

这将评估数组[d,e,a,b]

当然,如果你知道你只想删除索引为2的数组元素,那么执行:

myarray.splice(2,1)

myarray现在是[a,b,d,e]

答案 1 :(得分:2)

您可以splice代替:

arr = ['a','b','c','d','e'];
arr.splice(2,1);
--> arr == ['a','b','d','e'];

如果您不想弄乱原始数组,可以slice制作副本splice

arr = ['a','b','c','d','e'];
var selector = arr.slice();
selector.splice(2,1);
--> selector == ['a','b','d','e'];

答案 2 :(得分:1)

使用拼接:

myArray.splice(key, 1);

它删除了那个不需要的行。