Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptの要素に基づいて配列の配列をグループ化する


次のような数値の配列の配列があるとします-

const arr = [[1, 45], [1, 34], [1, 49], [2, 34], [4, 78], [2, 67], [4, 65]];

各サブ配列は、厳密に2つの要素を含むようにバインドされています。同様の最初の値を持つサブ配列のすべての2番目の要素がグループ化される新しい配列を構築する関数を作成する必要があります。

したがって、上記の配列の場合、出力は次のようになります-

const output = [
   [45, 34, 49],
   [34, 67],
   [78, 65]
];

Map()を利用して必要な配列を作成するArray.prototype.reduce()メソッドを利用できます。

したがって、この関数のコードを書いてみましょう-

このためのコードは-

になります
const arr = [[1, 45], [1, 34], [1, 49], [2, 34], [4, 78], [2, 67], [4, 65]];
const constructSimilarArray = (arr = []) => {
   const creds = arr.reduce((acc, val) => {
      const { map, res } = acc;
      if(!map.has(val[0])){
         map.set(val[0], res.push([val[1]]) - 1);
      }else{
         res[map.get(val[0])].push(val[1]);
      };
      return { map, res };
   }, {
      map: new Map(),
      res: []
   });
   return creds.res;
};
console.log(constructSimilarArray(arr));

出力

コンソールの出力は-

になります
[ [ 45, 34, 49 ], [ 34, 67 ], [ 78, 65 ] ]

  1. Javascript DOMとは何ですか?

    JavaScript Document Object Model(DOM)は、WebページのHTML要素を表現したものです。これは、コンテンツやスタイルを変更してWebページを操作するために使用できるインターフェイスです。 ウェブページを右クリックして[検査]を選択すると、DOMにアクセスできます。これを行うことにより、現在表示しているWebページのHTML要素を含むセクションが(右側または左側に)表示されます。これらの要素にカーソルを合わせると、ページ自体のセクションが強調表示されたときに、ページのどのセクションがそれらによって表されているかを確認できます。 コンソールでコーディ

  2. JavaScriptを使用して同じ配列内の配列の要素を複製するにはどうすればよいですか?

    以下は、同じ配列内の配列の要素を複製するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" > <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>   &nbs