[] .concat([“x”,“y”],“z”) - >如何获得[[“x”,“y”],“z”]而不是[“x”,“y” , “Z”]?

问题描述:

这很奇怪,但我找不到任何简单的解决方案。[] .concat([“x”,“y”],“z”) - >如何获得[[“x”,“y”],“z”]而不是[“x”,“y” , “Z”]?

注意:我用的不变性,所以我是绝对不希望修改原始阵列(不建议使用push

[].concat(["x","y"],"z") - >如何获得[["x","y"],"z"]而不是["x","y","z"]

+0

你总是可以只使用构造'阵列([ “X”, “Y”], “Z”)'。只有警告是传递一个数字具有不同行为的单个参数Array(5); //新的数组与.length == 5' – 2015-07-03 13:46:38

+3

...和ECMAScript 6提供了这个:'Array.of([“x”,“y”],“z”);',它可以很容易地被polyfilled和doesn不会受到单个数字参数问题的困扰。 – 2015-07-03 13:48:16

可以使用一个嵌套的数组:

> [].concat([["x", "y"]], "z") 

[["x", "y"], "z"]