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
          }
        }
      }
    }

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
					},
				]
			}
		]
	}
]

直接调用传相对应的参数即可:
parseJson(arr,‘key’,6);
JS  根据key查找对象数组中符合的一项 返回对象(递归)JS  根据key查找对象数组中符合的一项 返回对象(递归)

上一篇:根据 key值查找数组对象中所有的符合的对象 (递归)


下一篇:STM32 AM2320 温湿度万年历 微信小程序显示及控制