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'];