如何使用扩展语法删除第一个数组元素
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);
所以我有一个数组,例如。 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);