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

Javascriptでオブジェクトの配列をグループ化するための最も効率的な方法


jsのオブジェクトの配列のキーでグループ化する最も効率的な方法は、reduce関数を使用することです。

reduce()メソッドは、配列の各要素に対して(指定した)レデューサー関数を実行し、単一の出力値を生成します。

const people = [
   { name: 'Lee', age: 21 },
   { name: 'Ajay', age: 20 },
   { name: 'Jane', age: 20 }
];
function groupBy(objectArray, property) {
   return objectArray.reduce((acc, obj) => {
      const key = obj[property];
      if (!acc[key]) {
         acc[key] = [];
      }
      // Add object to list for given key's value
      acc[key].push(obj);
      return acc;
   }, {});
}
const groupedPeople = groupBy(people, 'age');
console.log(groupedPeople);

出力

これにより、出力が得られます-

{ 20: [ { name: 'Ajay', age: 20 }, { name: 'Jane', age: 20 } ],
21: [ { name: 'Lee', age: 21 } ] }

  1. 配列内の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>  

  2. JavaScriptオブジェクトの配列で配列のメソッドを使用していますか?

    以下は、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> <styl