我正在浏览一些代码,我想知道这是如何有用的
grid.push([].concat(row));
Run Code Online (Sandbox Code Playgroud)
在我的理解中,它是一样的
grid.push([row]);
Run Code Online (Sandbox Code Playgroud)
为什么'连续'大惊小怪?
Adi*_*ngh 11
您需要.concat在需要展平数组时使用,而不是由其他数组组成的数组.例如
var a = [1,2,3];
var b = [4];
Run Code Online (Sandbox Code Playgroud)
场景1
console.log(b.push(a));
// Result: [4, [1,2,3]]
Run Code Online (Sandbox Code Playgroud)
情景2
console.log(b.concat(a));
// Result: [4,1,2,3]
Run Code Online (Sandbox Code Playgroud)
所以你的两个场景都在一个数组数组中.由于[].concat()只有数组的结果,推动两者[row],[].concat(row)结果相同.
但是如果你想要一个扁平的数组,你的代码需要稍微改变一下,你必须.concat使用数组row,grid而不是.push连接它的结果,如方案2所示
小智 9
检查我的变体:
let arr = [];
let tmp = [ 1, 2, '300$' ];
arr.push(...tmp);
Run Code Online (Sandbox Code Playgroud)