[解決済み] JavaScriptでオブジェクトの配列から明確な値を取得する方法は?
2022-03-15 03:49:06
質問
以下があると仮定して。
var array =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]
すべての異なる年齢の配列を取得するための最良の方法は何でしょうか?
[17, 35]
各配列を繰り返してquot;age"の値をチェックし、別の配列の存在を確認し、なければ追加する必要がないような、代替のデータ構造または優れた方法はありませんか?
もし、繰り返し処理をせずに、異なる年齢を抜き出す方法があれば...。
現在の非効率的な方法を改善したいのですが...。もし、quot;array"がオブジェクトの配列ではなく、何らかのユニークなキー(例えば、quot;1,2,3")を持つオブジェクトのquot;map"という意味でも良いのですが、その場合は、quot;array"は "array "ではなく "quot "です。私はただ、最もパフォーマンス効率の良い方法を探しているだけです。
現在、私が行っている方法は以下の通りですが、私にとっては、イテレーションはうまくいっても、効率が悪いようにしか見えません...。
var distinct = []
for (var i = 0; i < array.length; i++)
if (array[i].age not in distinct)
distinct.push(array[i].age)
解決方法は?
もしこれがPHPなら、キーで配列を作り、その配列から
array_keys
しかし、JSにはそのような余裕はない。その代わり、こうしてみてください。
var flags = [], output = [], l = array.length, i;
for( i=0; i<l; i++) {
if( flags[array[i].age]) continue;
flags[array[i].age] = true;
output.push(array[i].age);
}
関連
-
[解決済み] テスト
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
JavaScriptのStringに関する共通メソッド
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vueネットワークリクエストソリューション ネイティブネットワークリクエストとjsネットワークリクエストライブラリ
-
JSアレイループと効率解析の比較
-
vue ディレクティブ v-html と v-text
-
vueの補間表現とv-textディレクティブの違いについて
-
Vueのクラススタイルの使い方の詳細
-
Vueの「データを聴く」原則を解説
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み] 期待される代入または関数呼び出し: 未使用式なし ReactJS
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。
-
JavaScriptのgetElementById、getElementsByTagNam、getElementsByClassNameの違いと使い方