$(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 被重置了,求大神帮忙看看,当条件满足后怎么终止所有循环### 问题描述
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
待解决
悬赏分:40
- 离问题结束还有 170天22小时14分57秒
点赞 0反对 0举报 0
收藏 0
分享 0
