gpt4 book ai didi

JavaScript 按对象值访问数组元素

转载 作者:行者123 更新时间:2023-12-02 06:56:33 24 4
gpt4 key购买 nike

如果我有一组这样的键/值对:

WX Code     WMO WX Code Description
------- -----------------------
00 No significant weather
04 Haze
10 Mist
20 Fog detected in last hour
21 Precip detected in last hour
22 Drizzle detected in last hour
23 Rain detected in last hour
24 Snow detected in last hour

我想通过整数代码作为数组访问,格式化数组的最佳方法是什么?如果我试试这个

var arrWXcodes = [
{00:"No significant weather"},
{04:"Haze"},
{10:"Mist"},
{20:"Fog detected in last hour"},
{21:"Precip detected in last hour"},
{22:"Drizzle detected in last hour"},
{23:"Rain detected in last hour"},
{24:"Snow detected in last hour"}];

然后我尝试访问数组以获取,像这样说“Haze”,但我没有得到我想要的。我想通过键的整数值访问数组,而不是数组中的位置

arrWXcodes["04"]
undefined
arrWXcodes[04]
Object { 21: "Precip detected in last hour" }

能够使用整数键访问数组并获得预期值的最佳数据结构和访问方法是什么?

最佳答案

删除对象数组,只有一个主要对象:

var arrWXcodes = {
"00": "No significant weather",
"04": "Haze",
...
}

然后您可以使用 arrWXcodes["00"] 等访问它们的属性

在传递整数时,您在自己的代码中得到的结果与预期不同的原因是这样做引用了数组的索引而不是属性名称。上例中的 0"No significant weather",而 "Haze"1 而不是 4。索引 4(数组中的第 5 项)是您的对象,其值为 “Precip detected in last hour”

如果您确实希望能够使用整数访问值,您可以使用 ""+ 4 将数字转换为字符串,但是这将生成 "4" 而不是 "04",因此如果您的键名在该结构中,您需要实现如下内容:How can I pad a value with leading zeros?

关于JavaScript 按对象值访问数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30194237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com