我可以通过几种不同的方式解决这个问题,但我不确定是否有更优雅的方法。
拿一个数组
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]
我不知道是否会遇到这个问题。我觉得这应该是可以解构的,但我读它的方式我不知道怎么做。
答案 0 :(得分:1)
如果你可以声明n个变量,然后将它们合并到一个数组中,你可以使用destructuring assignment:
const [a, b, ...rest] = [10, 20, 30, 40, 50];
console.log([a,b], rest);
// expected output: [10,20] [30,40,50]
答案 1 :(得分: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,您可以在其中试用