こんにちは! ?
あなたが素晴らしい仕事をしていることを願っています! SMYです! ?今日は、配列の分割を使ったクールな JavaScript マジックを紹介します。 ?
⚡ 待て、何?
⚡ でもなぜ?
⚡ でもどうやって?
1️⃣ 配列を時系列に分割する
2️⃣ インデックスによる配列の構造化
3️⃣ オブジェクト内の配列の構造化
4️⃣ 動的インデックスを使用した配列の構造化
配列の分割は JavaScript の優れた機能で、配列から値 (またはオブジェクトのプロパティ) を個別の変数に抽出できるようになります。コードをかっこよく見せるためだけではなく、よりクリーンで読みやすいコードを書くことが重要です。さまざまな方法で配列を構造化する方法を詳しく見てみましょう!
分割すると、コードがより簡潔で表現力豊かになります。インデックスによって配列要素にアクセスする代わりに、値を変数に直接抽出できます。これにより、コードが簡素化され、エラーが減り、理解しやすくなります。
配列を分割する各方法を例を挙げて説明しましょう!
これは配列を構造解除する最も簡単な方法です。変数は、出現順に配列要素と一致します。
const fruits = ['apple', 'mango', 'banana']; const [apple, mango, banana] = fruits; console.log(apple); // apple console.log(mango); // mango console.log(banana); // banana
フルーツ配列には 3 つの要素が含まれています。
[apple、mango、banana] を使用して、配列を 3 つの変数に分解し、それぞれが同じ順序で配列内の要素に対応します。
JavaScript では、配列リテラル自体内のインデックスによって配列を直接構造解除することはできませんが、Object.entries を使用するか手動で値を設定する少しの回避策で同様の結果を達成できます。
const fruits = ['apple', 'mango', 'banana']; const {0: apple, 1: mango, 2: banana} = fruits; console.log(apple); // apple console.log(mango); // mango console.log(banana); // banana
オブジェクト内にネストされている配列を構造解除することもできます。これにより、ネストされた構造内の特定の要素をターゲットにすることができます。
const fruitsPerSeason = { summer: ['grapes', 'pineapple'], winter: ['kiwis', 'oranges'] }; const { summer: [grape, pineapple], winter: [kiwi, orange] } = fruitsPerSeason; console.log(grape); // grapes console.log(pineapple); // pineapple console.log(kiwi); // kiwis console.log(orange); // oranges
fruitsPerSeason は、各プロパティが配列であるオブジェクトです。
オブジェクト内で構造を分割することで、これらの配列から特定の要素を個別の変数に抽出します。
より動的なアプローチとして、インデックスを保持する変数と構造の分割を組み合わせることができます。
const fruitsPerSeason = { summer: ['pineapple', 'grapes'], winter: ['kiwis', 'oranges'] }; const pineappleIdx = 0, kiwisIdx = 0; const { summer: [_, pineapple], winter: [_, kiwis] } = fruitsPerSeason; console.log(pineapple); // pineapple console.log(kiwis); // kiwis
配列を分割すると、JavaScript コードが合理化され、よりクリーンで表現力豊かになります。時系列に値を抽出する場合でも、特定のインデックスをターゲットにする場合でも、オブジェクト内で作業する場合でも、これらのテクニックは配列をより効率的に処理するのに役立ちます。
以上です、皆さん!この配列の分割の詳細が役に立ち、洞察力に富んでいると感じていただければ幸いです。 ?
JavaScript のヒントやテクニックをさらに知りたい場合は、GitHub と LinkedIn で私をフォローしてください!
GitHub
リンクトイン
これからも素晴らしいコーディングを続けてください! ✨
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3