Javascript: выберите все, кроме одного элемента из массива с помощью 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"
- вы знаете способ решить эту проблему? Может быть с отрицательными числами?
большое спасибо за ваш помогите!!! Ли!--4-->
3 ответов
используйте concat:
myarray.slice(3,5).concat(myarray.slice(0,2))
Это возвращает массив [d,e,a,b]
.
конечно, если вы знаете, что просто хотите удалить элемент массива с индексом 2, то сделайте:
myarray.splice(2,1)
myarray
Теперь [a,b,d,e]
.
вы можете 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'];