根據 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重復返回一個數組


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM