gpt4 book ai didi

javascript - 从值中获取 JSON 键或反转 JSON 数据

转载 作者:数据小太阳 更新时间:2023-10-29 04:29:31 24 4
gpt4 key购买 nike

从值中获取单键

我想从以下 JSON 中进行反向选择。我想提取特定状态的缩写。在这种情况下,缩写是键,我开始的值是值。

当然,我可以遍历每个值,将值与我的值进行比较,并在匹配时选择键。这是处理此类问题的最佳方法吗?或者有更好的方法吗?

反转 JSON 数据

另一种选择是在处理的早期反转此数据,以便为我自己提供一组类似的值,并交换键/值。我也有兴趣了解有效执行此操作的方法。

var States = {AL: 'Alabama', AK: 'Alaska', AZ: 'Arizona', AR: 'Arkansas', 
CA: 'California', CO: 'Colorado', CT: 'Connecticut',
DE: 'Delaware', DC: 'District of Columbia', FL: 'Florida',
GA: 'Georgia', HI: 'Hawaii', ID: 'Idaho', IL: 'Illinois',
IN: 'Indiana', IA: 'Iowa', KS: 'Kansas', KY: 'Kentucky',
LA: 'Louisiana', ME: 'Maine', MD: 'Maryland', MA: 'Massachusetts',
MI: 'Michigan', MN: 'Minnesota', MO: 'Missouri', MT: 'Montana',
NE: 'Nebraska', NV: 'Nevada', NH: 'New Hampshire',
NJ: 'New Jersey', NM: 'New Mexico', NY: 'New York',
NC: 'North Carolina', ND: 'North Dakota', OH: 'Ohio',
OK: 'Oklahoma', OR: 'Oregon', PA: 'Pennsylvania',
RI: 'Rhode Island', SC: 'South Carolina',
SD: 'South Dakota', TN: 'Tennessee', TX: 'Texas', UT: 'Utah',
VT: 'Vermont', VA: 'Virginia', WA: 'Washington',
WV: 'West Virginia', WI: 'Wisconsin', WY: 'Wyoming'};

最佳答案

没有“自动”的方式来做到这一点。您唯一的选择是遍历列表,直到找到与键匹配的值。

但是,如果您需要多次执行此操作,您应该让代码重建 JSON 对象并交换键/值,以便以后的查找速度更快。一个简单的方法:

function swapJsonKeyValues(input) {
var one, output = {};
for (one in input) {
if (input.hasOwnProperty(one)) {
output[input[one]] = one;
}
}
return output;
}

var stateAbbrs = swapJsonKeyValues(States);

关于javascript - 从值中获取 JSON 键或反转 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1970175/

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