zoukankan      html  css  js  c++  java
  • 根据 key值查找数组对象中所有的符合的对象 (递归)

    function parseJson(jsonObj, key, value) {
          // 循环所有键
          let array = []
          for (let v in jsonObj) {
            let element = jsonObj[v]
            // 1.判断是对象或者数组
            if (typeof (element) == 'object') {
              let result =  parseJson(element, key, value)
              if(result.length) {
                array = array.concat(result)
              }
            } else {
              if (v == key) {
                if (element == value){
                  array.push(jsonObj)
                } 
              }
            }
          }
          return array
        }
    
        var array = [
          {
            code: 1,
            value: 'b'
          },
          {
            code: 2,
            value: 'a'
          },
          {
            code: 3,
            value: 'c'
          },
          {
            code: 4,
            value: 'd'
          },
          {
            code: 5,
            value: 'e'
          },
          {
            code: 5,
            value: 'f'
          }
        ]
    
        console.log(parseJson(array, 'code', 5)) // 

     1.key重复返回一个数组

  • 相关阅读:
    2014年广州区域赛k题解
    2014年广州区域赛e题解
    2014年广州区域赛i题解
    最大化平均值问题
    codeforces 976e 题解
    maven
    机器学习入门
    拟合
    插值
    熵权法
  • 原文地址:https://www.cnblogs.com/likewpp/p/11770753.html
Copyright © 2011-2022 走看看