Javascript - 检查字符串是否在json中并标识父级

时间:2016-09-08 12:52:05

标签: javascript json

我想创建一些东西来检查我的json数据中是否有值,然后检索他所属的组。

data = [{
  "1" : ["1007","1020"],
  "2" : ["1200","1493"],
  "3" : ["6754","8652"],
}]

var value = '1200' #how to identify if 1200 is in group 2.

我不知道如何做到这一点。任何帮助都会有用!

2 个答案:

答案 0 :(得分:1)

data = [{
  "1" : ["1007","1020"],
  "2" : ["1200","1493"],
  "3" : ["6754","8652"],
}]

for (var i = 0; i < data.length; i++) {
    for (var key in data[i])
    {
        if (data[i][key].indexOf('1200') !== -1){
            console.log(key);
        }
    }
}

基本上,你循环遍历对象数组,然后循环遍历每个对象的键,以测试你的元素是否属于每个键的值。

答案 1 :(得分:0)

首先获取对象的所有键,然后按1200进行过滤。最后将它转换为字符串。

for(var i = 0;i < data.length;++i) {
    var group = Object.keys(data[i]).filter(function(key) {
        return data[i][key].indexOf("1200") !== -1;
    }).toString();
}

在ES6 / 7中你可以做得更顺畅:

Object.keys(data[i]).filter(key => data[i][key].includes("1200")).toString();