代码之家  ›  专栏  ›  技术社区  ›  Horai Nuri

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

  •  -2
  • Horai Nuri  · 技术社区  · 8 年前

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

    data = [{
      "1" : ["1007","1020"],
      "2" : ["1200","1493"],
      "3" : ["6754","8652"],
    }]
    
    var value = '1200' #how to identify if 1200 is in group 2.
    

    我不知道该怎么做。任何帮助都是有用的!

    2 回复  |  直到 8 年前
        1
  •  1
  •   Kafo    8 年前
    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);
            }
        }
    }
    

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

        2
  •  0
  •   Huntro    8 年前

    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();