当前位置:   article > 正文

JS 根据key查找对象数组中符合的一项 返回对象(递归)_数组对象返回满足条件的对象

数组对象返回满足条件的对象

在一个复杂的数组对象数据中(嵌套多层),通过key值返回对应的对象,在网上搜到的,感觉挺好用的,也没有多深入研究,直接拿来用了(捂脸)

1、代码

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) return result
        } else {
          if (v == key) {
            if (element == value) return jsonObj
          }
        }
      }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

2、方法使用
举个例子:

let arr = [
	{
		key: 1,
		value: 'a',
		children: null
	},
	{
		key: 2,
		value: 'b',
		children: null
	},
	{
		key: 3,
		value: 'c',
		children: [
			{
				key: 4,
				value: 'c-1',
				children: null
			},
			{
				key: 5,
				value: 'c-2',
				children: null
			},
			{
				key: 6,
				value: 'c-1',
				children: [
					{
						key: 7,
						value: 'c-1-1',
						children: null
					},
					{
						key: 8,
						value: 'c-1-2',
						children: null
					},
				]
			}
		]
	}
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

直接调用传相对应的参数即可:
parseJson(arr,‘key’,6);
在这里插入图片描述在这里插入图片描述

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号