Как удалить первый элемент массива, используя синтаксис распространения

Итак, у меня есть массив, напр. const arr = [1, 2, 3, 4];, Я хотел бы использовать синтаксис распространения ... удалить первый элемент.

то есть. [1, 2, 3, 4] ==> [2, 3, 4]

Можно ли это сделать с помощью синтаксиса распространения?

Изменить: Упрощенный вопрос для более общего случая использования.

4 ответа

Решение

Что вы можете.

const xs = [1,2,3,4];

const tail = ([x, ...xs]) => xs;

console.log(tail(xs));

Это то, что вы ищете?


Изначально вы хотели удалить второй элемент, который достаточно прост:

const xs = [1,0,2,3,4];

const remove2nd = ([x, y, ...xs]) => [x, ...xs];

console.log(remove2nd(xs));

Надеюсь, это поможет.

Разрушающее задание

var a = [1, 2, 3, 4];

[, ...a] = a

console.log( a )

Это то, что вы ищете?

const input = [1, 0, 2, 3, 4];
const output = [input[0], ...input.slice(2)];

После того, как вопрос был обновлен:

const input = [1, 2, 3, 4];
const output = [...input.slice(1)];

Но это глупо, потому что вы можете просто сделать:

const input = [1, 2, 3, 4];
const output = input.slice(1);

Вы можете использовать оператор rest(...arrOutput)с распространением operator(...arr).

      const arr = [1, 2, 3, 4];
const [itemRemoved, ...arrOutput] = [...arr];
console.log(arrOutput);
Другие вопросы по тегам