$(function () {
var \_param = {
'body': {
'name': "周杰伦",
'list': \[
{
'age': '20'
}
\],
'in': {
'in\_name': '姓名',
'in\_1': {
'obj\_name': '张三',
'in\_2': {
'id': '111'
}
}
}
},
'result': {
'code': '10000',
'msg': '成功'
}
}
var \_val = findOutParam(\_param, 'id')
console.log(\_val)
})
function findOutParam(i\_item, fixed\_code) {
var fixed\_val = ''
for (var j in i\_item) {
var j\_item = i\_item\[j\]
try {
if (typeof JSON.parse(j\_item) == "object") {
j\_item = JSON.parse(j\_item)
}
} catch (e) {
}
if (typeof j\_item == 'object' || Array.isArray(j\_item)) {
fixed\_value = findOutParam(j\_item, fixed\_code)
} else {
if (j == fixed\_code) {
if (j\_item === 0) {
j\_item = '0'
}
fixed\_val = j\_item
flag = false
break }
}
}
return fixed\_val
}
通过递归的方式取值,但是取到值后,循环会继续执行它的父级循环,导致fixed_val 被重置了,求大神帮忙看看,当条件满足后怎么终止所有循环### 问题描述
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
这里我要寻找的值放在一个更高的位置:
调用的方式不变: