Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:使用slice()从数组中选择除一项以外的所有项?_Javascript_Arrays_Slice - Fatal编程技术网

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

Javascript:使用slice()从数组中选择除一项以外的所有项?,javascript,arrays,slice,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” 你知道解决这个问题的方法吗? 也许是负

假设我有一个数组:

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”

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

非常感谢你的帮助!!! Lee

使用concat:

myarray.slice(3,5).concat(myarray.slice(0,2))
这将计算为数组
[d,e,a,b]

当然,如果您知道只想删除索引为2的数组元素,请执行以下操作:

myarray.splice(2,1)
myarray
现在是
[a,b,d,e]

使用拼接:

myArray.splice(key, 1);

它会删除不需要的行。

您可以
拼接

arr = ['a','b','c','d','e'];
arr.splice(2,1);
--> arr == ['a','b','d','e'];
如果您不想弄乱原始阵列,可以
切片
制作副本,然后
拼接

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

需要注意的是,这会对原始数组进行变异。第二部分不会像您发布的那样重新出现,arr=['a','b','c','d','e'];变量选择器=阵列切片().拼接(2,1);-->选择器将重新启动['c'];