我有一个很长的 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/