【问题标题】:How to match values of Array with JSON [closed]如何将 Array 的值与 JSON 匹配 [关闭]
【发布时间】:2014-06-25 10:46:10
【问题描述】:

我有一个数组和 JSON,试图将 JSON 值与数组值匹配,如果匹配我需要打印它的值。 数组:

Arr = ["a","b","c"];

JSON:

{
        "Acol": {
            "cat": [{
                "val": "d"
            }, {
                "val": "c"
            }]
        }
    }

JS:

 for (var i = 0; i < Arr.length; i++) {
        for (var j = 0; j < cate.length; j++) {
            if (Arr[i] == cate[j]) {
                console.log(cate[j].val)
            }
        }
    }

需要打印的输出是'c'

【问题讨论】:

  • 那不是 JSON,它是一个 JavaScript 数组字面量。
  • 我们提供帮助,而不是免费工作。
  • 而问题是:给我写?

标签: javascript jquery arrays json


【解决方案1】:

试试这个代码

var Arr = ["a","b","c"];    
var cate={
          "Acol": {
                    "cat": [
                            {
                              "val": "d"
                            }, 
                            {
                                  "val": "c"
                            }
                           ]
                    }
                  }


    for (var i = 0; i < Arr.length; i++) 
    {
      for (var j = 0; j < cate.Acol.cat.length; j++) 
      {
            if (Arr[i] == cate.Acol.cat[j].val) 
            {
              console.log(cate.Acol.cat[j].val)
           }
      }
    }

【讨论】:

    【解决方案2】:
    // if you haven't parsed your JSON, parse it.
    var json = '{"Acol":{"cat":[{"val":"d"},{"val": "c"}]}}'
    var obj = JSON.parse(json);
    
    // not sure, is this meant to be `cate` or `cat`? I've used `cate` because
    // that was in your code. This was one of the causes of your problems. It's called
    // cat in your JSON...
    var cate = obj.Acol.cat;
    
    for (var i = 0; i < Arr.length; i++) {
      for (var j = 0; j < cate.length; j++) {
    
        // make sure you check the `val` property here
        if (Arr[i] == cate[j].val) {
          console.log(cate[j].val)
        }
      }
    }
    

    Demo

    【讨论】:

      猜你喜欢
      • 2019-09-19
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多