ホームページ > ウェブフロントエンド > jsチュートリアル > Lodash または Plain JavaScript を使用して JavaScript オブジェクトをキーごとに効率的にグループ化するにはどうすればよいですか?

Lodash または Plain JavaScript を使用して JavaScript オブジェクトをキーごとに効率的にグループ化するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-04 12:18:38
オリジナル
499 人が閲覧しました

How Can I Efficiently Group JavaScript Objects by a Key Using Lodash or Plain JavaScript?

JavaScript と Lodash を使用したキーによるオブジェクトのグループ化

特定のキーに基づいてオブジェクトをグループ化することは、データの配列を操作する場合の一般的なタスクです。共通のプロパティを共有するオブジェクトをグループ化することで、より効果的にオブジェクトを整理してアクセスできるようになります。

プレーンな JavaScript でこれを実現する 1 つの方法は、Array#reduce メソッドを使用することです。次のコード スニペットは、その方法を示しています。

const cars = [{
    make: 'audi',
    model: 'r8',
    year: '2012'
}, {
    make: 'audi',
    model: 'rs5',
    year: '2013'
}, {
    make: 'ford',
    model: 'mustang',
    year: '2012'
}, {
    make: 'ford',
    model: 'fusion',
    year: '2015'
}, {
    make: 'kia',
    model: 'optima',
    year: '2012'
}];

const result = cars.reduce(function (r, a) {
    r[a.make] = r[a.make] || [];
    r[a.make].push(a);
    return r;
}, {});

console.log(result);
ログイン後にコピー

このコードは、グループ化キーとして make プロパティを使用します。車の配列を反復処理し、一意の make 値に対応するキーを持つ新しいオブジェクトを作成します。各メーカーに対して、そのメーカーを共有する車オブジェクトの配列を作成または追加します。

Lodash は、_.groupBy 関数を使用してオブジェクトをグループ化する簡潔な方法も提供します。

import { groupBy } from 'lodash';

const grouped = groupBy(cars, 'make');
ログイン後にコピー

The groupByこの関数は、オブジェクトの配列とグループ化の基準となるプロパティという 2 つの引数を取ります。これは、指定されたプロパティの一意の値に対応するキーと、その値を共有するオブジェクトの配列に対応する値を持つ新しいオブジェクトを返します。

オブジェクトをキーでグループ化することで、関連するデータに簡単にアクセスし、操作を実行できます。類似した特性を持つオブジェクトのグループ。この手法は、データの取得、フィルタリング、データの視覚化の最適化に特に役立ちます。

以上がLodash または Plain JavaScript を使用して JavaScript オブジェクトをキーごとに効率的にグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート