0

我可以通过几种不同的方式解决这个问题,但我不确定是否有更优雅的方式来解决这个问题。

取一个数组

let foo = [1,2,3,4,5]

是否有一种使用数组解构的方法可以像thist一样工作:

split(array, n) =>
  ...

let bar = split(foo, 3)
bar[0] = [1,2,3]
bar[1] = [4,5]

我不知道会遇到问题。我觉得这应该可以通过解构来实现,但是我阅读它的方式我不知道该怎么做。

4

2 回答 2

1

如果您可以声明 n 个变量,然后将它们合并到一个数组中,您可以使用解构赋值

const [a, b, ...rest] = [10, 20, 30, 40, 50];

console.log([a,b], rest);
// expected output: [10,20] [30,40,50]
于 2018-03-20T11:58:32.667 回答
0

您应该返回包含两个数组的数组。然后您可以使用解构将部分分配给不同的变量

split(array, n) =>
  return [array.slice(0, n), array.slice(n)]

let foo = [1,2,3,4,5]
let [bar, baz] = split(foo, 3)
console.log(bar) // [1,2,3]
console.log(baz) // [4,5]

这是一个Babel REPL,您可以在其中尝试一下

于 2015-05-13T13:58:55.953 回答