Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据内部属性过滤JSON树_Javascript_Jquery_Json_Underscore.js - Fatal编程技术网

Javascript 如何根据内部属性过滤JSON树

Javascript 如何根据内部属性过滤JSON树,javascript,jquery,json,underscore.js,Javascript,Jquery,Json,Underscore.js,我必须再次发布更多细节的问题: 我得到了一个JSON树数组 JSON树的结构如下所示: { "app": { "categories": { "cat_222": { "id": "555", "deals": [{ "id": "73", "retailer": "JeansWest" }, { "

我必须再次发布更多细节的问题:

我得到了一个JSON树
数组

JSON树的结构如下所示:

{
"app": {

    "categories": {

        "cat_222": {
            "id": "555",
            "deals": [{
                "id": "73",
                "retailer": "JeansWest"

            }, {
                "id": "8630",
                "retailer": "Adidas"

            }, {
                "id": "11912",
                "retailer": "Adidas"

            }]
        },

        "cat_342": {
            "id": "232",
            "deals": [{
                "id": "5698",
                "retailer": "KFC"
            }, {
                "id": "5701",
                "retailer": "KFC"
            }, {
                "id": "5699",
                "retailer": "MC"

            }]
        }
    }
  }
}
现在,我想用
var pattern=“KF”
过滤这个JSON树

返回所有带有
retailer
name contains
KF
及其id的内容

===============================更新===========================

检查一下我的另一个问题。问题解决了。 嗯,你可以使用:

。。。或:

正如您所看到的,这两种方法非常相似——事实上,如果在主机环境中可用,这两种方法都可以使用


还请注意,原始数组在此不受影响。如果不需要,只需将过滤结果分配给同一个变量(即本例中的
arrayOfStrings

使用,或者如果需要支持IE<9

请发布数据示例,以及迄今为止的代码。我假设您已经解析了JSON。如果是,则
array
包含一个普通的JS数组。这个问题似乎与JSON无关。另外,下划线.js有文档,为什么不看一下呢。使用lodash而不是下划线。它要快得多。在他们的基准测试中,它比Chrome上的下划线方法快了240%。函数和参数将是相同的。对不起,伙计们,我再次编辑了我的问题。
var filteredArray = _.filter(arrayOfStrings, function(str) { 
  return str.indexOf(data) !== -1; });
var filteredArray = $.grep(arrayOfStrings, function(str) { 
  return str.indexOf(data) !== -1; });