在 Javascript 中连接一个空数组

新手上路,请多包涵

我正在浏览一些代码,我想知道这有什么用

grid.push([].concat(row));

在我的理解中,它与

grid.push([row]);

为什么要大惊小怪?

原文由 Mike M 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 499
2 个回答

当您需要展平数组并且没有由其他数组组成的数组时,您想使用 .concat 。例如

var a = [1,2,3];
var b = [4];

场景 1

 console.log(b.push(a));
// Result: [4, [1,2,3]]

场景 2

 console.log(b.concat(a));
// Result: [4,1,2,3]

所以你的两个场景都在一个数组中。因为 [].concat() 只产生一个数组,所以推两个 [row] , [].concat(row) 有相同的结果。

但是如果你想要一个展平的数组,你的代码需要稍微改变,你必须 .concat 数组 row .push grid --- concat到它的结果,如场景2所示

原文由 Aditya Singh 发布,翻译遵循 CC BY-SA 3.0 许可协议

检查我的变体:

 let arr = [];
let tmp = [ 1, 2, '300$' ];
arr.push(...tmp);

原文由 maslo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题