JavaScript 通过数组中的值查找键

1 javascript arrays object

我的数据结构如下:

var states = {
  'alabama': { abbv:'AL', ec: 9, winner: 0},
  'alaska': { abbv:'AK', ec: 3, winner: 0},
  'arizona': { abbv:'AZ', ec: 11, winner: 0}
}
Run Code Online (Sandbox Code Playgroud)

我如何通过搜索“AK”来找到“阿拉斯加”?

Ion*_*zău 5

迭代状态名称 ( keys) 并使用该find方法返回正确的状态。

var states = {
  'alabama': { abbv:'AL', ec: 9, winner: 0},
  'alaska': { abbv:'AK', ec: 3, winner: 0},
  'arizona': { abbv:'AZ', ec: 11, winner: 0}
}
const searchFor = "AK"
const foundState = Object.keys(states).find(stateName => {
  return states[stateName].abbv === searchFor
})

console.log(foundState)
// => "alaska"

console.log(states[foundState])
// => { abbv:'AK', ec: 3, winner: 0}
Run Code Online (Sandbox Code Playgroud)