1. ホーム
  2. javascript

[解決済み] 配列の結合/平坦化

2022-03-20 12:20:36

質問

JavaScriptの配列のようなものがあります。

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

別々の内部配列を1つに統合するにはどうしたらいいでしょうか。

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

解決方法は?

を使用することができます。 concat を使用して、配列をマージします。

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

console.log(merged);

を使用することで apply のメソッドを使用します。 concat は第2パラメータを配列として受け取るだけなので、最後の行はこれと同じです。

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


また Array.prototype.flat() メソッド (ES2019 で導入) を使って配列を平坦化することもできますが、その場合は はバージョン 11 以降の Node.js でのみ利用可能で、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);