gpt4 book ai didi

javascript - 使用 Value from Option 从 JSON 中获取数据

转载 作者:行者123 更新时间:2023-11-30 14:03:35 25 4
gpt4 key购买 nike

friend 们!我有一个 json 文件、一个 .js 文件和一些 html。

我可以很好地从 js 文件中的 json 文件中读取数据,并将其输出到控制台。

所以我有一个包含所有 50 个州的下拉列表,值是州的缩写。每个状态有 6 个不同的值,如下所示:

"AK": {
"I": 0,
"II": 0,
"III": 0,
"IV": 0,
"V": 0,
"VI": 0
}

我可以这样控制数据:data.AK.II,没问题。

我在实现这个方面遇到了问题:数据。(所选选项的值).II

   $('select#input_56_3').on('change', function () {
var thisValue = $('select#input_56_3 option:selected').val();
var newValue = data.thisValue.I;
console.log('newValue = ' + newValue);
});

这是我遇到的错误,所以“thisValue”未定义。

未捕获的类型错误:无法读取未定义的属性“I”

我应该以某种方式转换它吗?我想我已经盯着这个看太久了。

最佳答案

data.thisValue.II 更改为 data[thisValue].II,它将起作用。

  • Bracket notation is basically used when there's a space in key names e.g. "full name" etc.
  • Do notation is used if you are directly trying to access the values in object. If d = {k: 1} then d.k and d[k] both are fine. d = {"k v": 1} then only d["k v"] will work.
> data = {
... "AK": {
..... "I": 0,
..... "II": 0,
..... "III": 0,
..... "IV": 0,
..... "V": 0,
..... "VI": 0
..... }
... }
{ AK: { I: 0, II: 0, III: 0, IV: 0, V: 0, VI: 0 } }
>
> thisValue = "AK"
'AK'
>
> data[thisValue].I
0
> data[thisValue].II
0
>

下面会抛出异常(error)。

> data.thisValue.II
Thrown:
TypeError: Cannot read property 'II' of undefined
>

关于javascript - 使用 Value from Option 从 JSON 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55876582/

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