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

использовать соединения:

myArray.splice(key, 1);

Он удаляет ненужные строки.