[] .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"]
?
答
可以使用一个嵌套的数组:
> [].concat([["x", "y"]], "z")
[["x", "y"], "z"]
你总是可以只使用构造'阵列([ “X”, “Y”], “Z”)'。只有警告是传递一个数字具有不同行为的单个参数Array(5); //新的数组与.length == 5' – 2015-07-03 13:46:38
...和ECMAScript 6提供了这个:'Array.of([“x”,“y”],“z”);',它可以很容易地被polyfilled和doesn不会受到单个数字参数问题的困扰。 – 2015-07-03 13:48:16