ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript オブジェクトの配列から一意のプロパティ値を効率的に抽出する方法
オブジェクトの配列が与えられた場合、タスクは、特定のオブジェクトの個別の値のみを含む新しい配列を抽出することです。財産。たとえば、次の配列について考えてみます。
var array = [ { "name": "Joe", "age": 17 }, { "name": "Bob", "age": 17 }, { "name": "Carl", "age": 35 } ]
目的は、この配列から個別の年齢を含む配列を取得することです。その結果、次の結果が得られます。
[17, 35]
反復解
簡単なアプローチには、配列内のオブジェクトを反復処理し、各オブジェクトの年齢が結果の配列に存在するかどうかを確認することが含まれます。そうでない場合は、年齢が結果の配列に追加されます。このアプローチは機能しますが、複数の反復と比較に依存しているため非効率的です。
var distinct = [] for (var i = 0; i < array.length; i++) if (array[i].age not in distinct) distinct.push(array[i].age)
ES6 Set を使用した最適化されたソリューション
より効率的に処理するには、ES6 /ES2015 は、一意の値の保存を可能にする Set データ構造を提供します。これを利用する方法は次のとおりです。
const data = [ { "group": 'A', "name": 'SD' }, { "group": 'B', "name": 'FI' }, { "group": 'A', "name": 'MM' }, { "group": 'B', "name": 'CO'} ]; const unique = [...new Set(data.map(item => item.group))]; // [ 'A', 'B']
オブジェクトの配列を必要なプロパティ値の配列にマッピングし、そこから Set を作成することで、重複する値を排除します。次に、スプレッド演算子 (...) を使用して Set を配列に変換すると、望ましい結果が得られます。
以上がJavaScript オブジェクトの配列から一意のプロパティ値を効率的に抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。