【javascript】連想配列から特定のキーに紐づく1配列のみ抽出する

連想配列から特定のキーが指定した値に合致した配列のみ取得する方法です。

また、重複しない要素(例えばID等)の場合、結果は0か1のはずです。
そのため、最初一件のみ変数に代入する方法についてまとめます。

元データ

[
  {
    "id": 1,
    "name": "name_1"
  },
  {
    "id": 2,
    "name": "name_2"
  },
  {
    "id": 3,
    "name": "name_3"
  }
]

パース処理

変数arraysに、jsonデータを入れた状態とします。

theaterID = 1  // 探すID
target = arrays.filter(function(object) {
    // idが「1」の配列のみ返します。
    return object.id == theaterID
}).shift()

console.log(target)
//
// Object
//    id: 1,
//    name: "name_1"
//

console.log(target.name)
// name_1

関連URL

filter

filter内で指定した無名関数が有効であればpushします。

developer.mozilla.org

shift

配列の最初の要素だけ抜き出します。
array[0]と同じ事をしていますが、メソッドチェーンで書けるのがメリットです。

developer.mozilla.org



以上です。
連想配列を扱う時、for文で回すより直感的にわかりやすいので、覚えておくと処理を書く時に何かと便利な方法です。

©︎2017-2018 WebSandBag