私が次のものを持っていると仮定します:
var array =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]
次の結果配列を取得するように、すべての異なる年齢の配列を取得できるようにする最良の方法は何ですか?
[17, 35]
「年齢」の値をチェックする各配列を繰り返し処理し、別の配列に対してその存在をチェックし、そうでない場合は追加する必要がないように、代わりにデータまたはより良い方法を構造化する方法はありますか?
反復せずに個別の年齢を引き出すことができる方法があれば...
改善したい現在の非効率的な方法...「配列」がオブジェクトの配列ではなく、一意のキー(つまり「1,2,3」)を持つオブジェクトの「マップ」であることを意味する場合大丈夫です。最もパフォーマンス効率の高い方法を探しているだけです。
以下は私が現在行っている方法ですが、私にとっては、反復は機能していても効率が悪いように見えます...
var distinct = []
for (var i = 0; i < array.length; i++)
if (array[i].age not in distinct)
distinct.push(array[i].age)