合并/展平数组数组
我有一个 JavaScript 数组,例如:
I have a JavaScript array like:
[["$6"], ["$12"], ["$25"], ["$25"], ["$18"], ["$22"], ["$10"]]
我将如何将单独的内部数组合并为一个:
How would I go about merging the separate inner arrays into one like:
["$6", "$12", "$25", ...]
推荐答案
可以使用concat
合并数组:
var arrays = [
["$6"],
["$12"],
["$25"],
["$25"],
["$18"],
["$22"],
["$10"]
];
var merged = [].concat.apply([], arrays);
console.log(merged);
使用 concat
的 apply
方法只会将第二个参数作为一个数组,所以最后一行与此相同:
Using the apply
method of concat
will just take the second parameter as an array, so the last line is identical to this:
var merged2 = [].concat(["$6"], ["$12"], ["$25"], ["$25"], ["$18"], ["$22"], ["$10"]);
<小时>
还有 Array.prototype.flat()
方法(在 ES2019 中引入),您可以使用它来展平数组,尽管 它仅在 Node.js 11 开始可用,而在 Internet Explorer 中根本不可用.
const arrays = [
["$6"],
["$12"],
["$25"],
["$25"],
["$18"],
["$22"],
["$10"]
];
const merge3 = arrays.flat(1); //The depth level specifying how deep a nested array structure should be flattened. Defaults to 1.
console.log(merge3);
相关文章