javascript - 下划线 JavaScript 查找复杂对象中键存在的值

标签 javascript json for-loop underscore.js

我有以下动态的 JSON 格式,即子级的数量随时可能不同。

var Obj = {
    "name": "A",
    "count": 13,
    "children": [{
        "name": "B",
        "count": 24,
        "children": [{
            "name": "C",
            "count": 35,
            "children": [],
            "msg": null
        },{
            "name": "D",
            "count": 35,
            "children": [],
            "msg": "Err"
        }]
    }]
}

如何判断整个对象 Obj 中 msg 是否不为 null?我尝试使用循环遍历对象,但这种格式不一致,因为对象中的子数组是动态的。我是下划线新手,是否有办法使用 Underscore JavaScript 检查?

最佳答案

如果我正确理解你的问题...

var anyMsgNotNull = (_.filter(Obj.children, function(child) {
    return (child.msg !== null);
  })).length > 0;

如果有非 null 的 msg 元素,则返回 true,否则返回 false。

关于javascript - 下划线 JavaScript 查找复杂对象中键存在的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43343750/

相关文章:

java - 将 JSON 中的多个项目解析为数组

python - 在Python中检查列表中的字符串时减少for循环的使用

c++ - 循环中的函数,参数不变

javascript - 用 js 隐藏一个 HTML 表格行 <tr> 使其不占用空间

javascript - 如何使用 React useRef 钩子(Hook)删除 map 中的类

javascript - 添加到数组时使用 push 方法还是 .length?

php - 下拉刷新不刷新 JSON 数据

具有多个变量的 Python for 循环迭代

javascript - 如何锁定文本区域的第一个词?

javascript - 在 MongoDB 聚合中返回带数据的计数