はじめに
この実験では、JavaScriptを使って2次元配列の要素をグループ化解除する方法を探ります。reduce
、map
、forEach
などのJavaScriptの組み込み関数を組み合わせて、1つの2次元配列から個々の配列を抽出します。この実験が終わるとき、JavaScriptで配列を操作して目的の出力を得る方法をしっかりと理解していることになります。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、JavaScriptを使って2次元配列の要素をグループ化解除する方法を探ります。reduce
、map
、forEach
などのJavaScriptの組み込み関数を組み合わせて、1つの2次元配列から個々の配列を抽出します。この実験が終わるとき、JavaScriptで配列を操作して目的の出力を得る方法をしっかりと理解していることになります。
zip
関数で生成された配列の要素をグループ化解除するには、JavaScriptのunzip
関数を使って2次元配列を作成することができます。方法は以下の通りです。
node
と入力します。Math.max()
、Function.prototype.apply()
を使って配列内の最長のサブ配列を取得し、Array.prototype.map()
を使って各要素を配列にします。Array.prototype.reduce()
とArray.prototype.forEach()
を使って、グループ化された値を個々の配列にマッピングします。以下がunzip
関数のコードです。
const unzip = (arr) =>
arr.reduce(
(acc, val) => (val.forEach((v, i) => acc[i].push(v)), acc),
Array.from({
length: Math.max(...arr.map((x) => x.length))
}).map((x) => [])
);
以下の例でunzip
関数を使うことができます。
unzip([
["a", 1, true],
["b", 2, false]
]); // [['a', 'b'], [1, 2], [true, false]]
unzip([
["a", 1, true],
["b", 2]
]); // [['a', 'b'], [1, 2], [true]]
これらの手順に従えば、JavaScriptで簡単に配列要素をグループ化解除することができます。
おめでとうございます!あなたは配列要素をグループ化解除する実験を完了しました。あなたの技術を向上させるために、LabExでさらに多くの実験を練習することができます。