配列の配列を結合/フラット化する 質問する

配列の配列を結合/フラット化する 質問する

次のような JavaScript 配列があります:

[["$6"], ["$12"], ["$25"], ["$25"], ["$18"], ["$22"], ["$10"]]

別々の内部配列を次のように 1 つにマージするにはどうすればよいでしょうか。

["$6", "$12", "$25", ...]

ベストアンサー1


ES2019

ES2019では、Array.prototype.flat()配列をフラット化するために使用できるメソッド。これはほとんどの環境ただし、これは 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);
    


古いブラウザ

古いブラウザの場合は、Array.prototype.concat配列を結合するには:

var arrays = [
  ["$6"],
  ["$12"],
  ["$25"],
  ["$25"],
  ["$18"],
  ["$22"],
  ["$10"]
];
var merged = [].concat.apply([], arrays);

console.log(merged);

applyのメソッドを使用するとconcat、2 番目のパラメータが配列として取得されるだけなので、最後の行は次の行と同じになります。

var merged = [].concat(["$6"], ["$12"], ["$25"], ["$25"], ["$18"], ["$22"], ["$10"]);

おすすめ記事