我可以通过几种不同的方式解决这个问题,但我不确定是否有更优雅的方式来解决这个问题。
取一个数组
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]
我不知道会遇到问题。我觉得这应该可以通过解构来实现,但是我阅读它的方式我不知道该怎么做。
我可以通过几种不同的方式解决这个问题,但我不确定是否有更优雅的方式来解决这个问题。
取一个数组
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]
我不知道会遇到问题。我觉得这应该可以通过解构来实现,但是我阅读它的方式我不知道该怎么做。
如果您可以声明 n 个变量,然后将它们合并到一个数组中,您可以使用解构赋值:
const [a, b, ...rest] = [10, 20, 30, 40, 50];
console.log([a,b], rest);
// expected output: [10,20] [30,40,50]
您应该返回包含两个数组的数组。然后您可以使用解构将部分分配给不同的变量
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,您可以在其中尝试一下