javascript - 通过值查找 javascript 中对象的索引

标签 javascript json

我有一个很长的 json 时区列表,如下所示。

[
 {"value": "Pacific/Niue", "name": "(GMT-11:00) Niue"},
 {"value": "Pacific/Pago_Pago", "name": "(GMT-11:00) Pago Pago"},
 {"value": "Pacific/Honolulu", "name": "(GMT-10:00) Hawaii Time"},
 {"value": "Pacific/Rarotonga", "name": "(GMT-10:00) Rarotonga"},
 {"value": "Pacific/Tahiti", "name": "(GMT-10:00) Tahiti"},
 {"value": "Pacific/Marquesas", "name": "(GMT-09:30) Marquesas"},
 {"value": "America/Anchorage", "name": "(GMT-09:00) Alaska Time"},
 {"value": "Pacific/Gambier", "name": "(GMT-09:00) Gambier"},
 {"value": "America/Los_Angeles", "name": "(GMT-08:00) Pacific Time"},
 {"value": "America/Tijuana", "name": "(GMT-08:00) Pacific Time -  Tijuana"},
 {"value": "America/Vancouver", "name": "(GMT-08:00) Pacific Time - Vancouver"},
]

我设置了用户时区检测,它返回时区字符串为“America/Los_Angeles”

使用 Javascript 我想找到 America/Los_Angeles 在 json 对象中的位置,以便我可以使用它的“名称”来预填充表单字段。

我熟悉 indexOf() 方法,但不知道如何在这种情况下使用它。有没有一种简单的方法来处理这个问题,或者我应该只遍历整个列表?

最佳答案

Using Javascript I want to find the where America/Los_Angeles is in the json object so I can use its "name" to prefill a form field.

您可以使用findIndex

var index = arr.findIndex( s => s.value == "America/Los_Angeles" )

现在使用此索引来预填充字段。

或者简单地使用find返回一个对象

var element = arr.find( s => s.value == "America/Los_Angeles" )

并在元素本身中设置名称字段

element.name = "somevalue";

关于javascript - 通过值查找 javascript 中对象的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49574994/

相关文章:

来自 'HH-MM' 形式字符串的 Javascript 日期对象

javascript - 使用 javascript 重写 div

javascript - 循环遍历对象数组并返回与另一个对象具有相同/键值对的对象

jquery - 在 Rails 应用程序中输出 JSON

javascript - 如何调用一个函数,其名称在 Json 对象中传递?

javascript - 考虑到性能和广告显示,如何使用 React 和样式组件在 2 个响应式标题(移动和桌面)之间切换?

javascript - 如何给玩家一副牌?

javascript - 我的 PhoneGap 应用程序无法访问我的 Web 服务

javascript - 带有 JSON 嵌入数组的 Angularjs 表

json - 来自 api 的 sails.js 数据在 View 中循环