はじめに
この実験では、JavaScriptを使って配列を指定された深さまでフラット化する概念を探ります。要素や配列をマージするために再帰、reduce、concatメソッドをどのように使うか学びます。この実験が終わるとき、あなたはJavaScriptで配列を効率的にフラット化し、ネストされたデータ構造を操作できるようになります。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、JavaScriptを使って配列を指定された深さまでフラット化する概念を探ります。要素や配列をマージするために再帰、reduce、concatメソッドをどのように使うか学びます。この実験が終わるとき、あなたはJavaScriptで配列を効率的にフラット化し、ネストされたデータ構造を操作できるようになります。
JavaScriptで配列を指定された深さまでフラット化するには、次の手順に従います。
node
と入力します。flatten
関数に2つの引数を使用します。arr
(フラット化する配列)と depth
(フラット化するネストレベルの最大数)。flatten
関数の中で、再帰を使って深さの各レベルで depth
を1減らします。Array.prototype.reduce()
と Array.prototype.concat()
を使って要素や配列をマージします。depth
が1に等しい場合のベースケースを追加して再帰を停止します。depth
を省略すると、深さ1までのみフラット化されます(単一のフラット化)。以下が flatten
関数のコードです。
const flatten = (arr, depth = 1) =>
arr.reduce(
(a, v) =>
a.concat(depth > 1 && Array.isArray(v) ? flatten(v, depth - 1) : v),
[]
);
次の例で flatten
関数をテストできます。
flatten([1, [2], 3, 4]); // [1, 2, 3, 4]
flatten([1, [2, [3, [4, 5], 6], 7], 8], 2); // [1, 2, 3, [4, 5], 6, 7, 8]
おめでとうございます!あなたは配列をフラット化する実験を完了しました。あなたのスキルを向上させるために、LabExでさらに多くの実験を練習できます。