如何使用扩展语法删除第一个数组元素

How to remove first array element using the spread syntax

所以我有一个数组,例如。 const arr = [1, 2, 3, 4];。我想使用扩展语法 ... 来删除第一个元素。

即。 [1, 2, 3, 4] ==> [2, 3, 4]

这可以用传播语法来完成吗?

编辑:针对更一般的用例简化了问题。

这是您要找的吗?

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);

当然可以。

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 )

您可以将 rest 运算符 (...arrOutput) 与价差 operator(...arr).

一起使用
const arr = [1, 2, 3, 4];
const [itemRemoved, ...arrOutput] = [...arr];
console.log(arrOutput);