需要帮助使用JavaScript循环JSON。奇怪的行为

时间:2017-10-04 12:34:32

标签: javascript arrays json

虽然它在小数据上运行良好。我需要以这种形式循环访问JSON:

var current_value = 2;
json_data = {"2":"first information","3":"Second informaton","4":"Third information"}

我想要做的是获取对应于current_value为2的json_data中的值 问题是我在运行此循环的任何时候都会一直"

for(x in json_data){
    if(x === current_value){
        extracted = json_data[current_value];
    }
}

1 个答案:

答案 0 :(得分:2)

JavaScript属性名称是字符串2号码===不进行类型转换。 "2" !== 2

您应该将current_value设置为"2"而不是2

虽然循环毫无意义。

更明智的做法是:

var extracted;
if (current_value in json_data) { 
    extracted = json_data[current_value];
}

......甚至只是跳过if语句。如果财产不存在,extracted将为undefined