javascript - 确定对象内的嵌套数组是否有值

标签 javascript arrays ecmascript-6

我有一个看起来像这样的对象:

 steps: {
        '36793745-4c52-42d2-91a5-dcdc9de2e8fa': [],
        'b23d8770-806f-44a9-aa2e-a21dd68f7977': [],
        '33571d58-b833-4a7d-a1a1-ec96366cb74a': [],
        'b1499917-7f82-49e5-9708-6237340a9610': []
      }

该对象中的每个数组都可以是字符串数组。

我想检查这些数组中是否有一个项目,如果有,我想返回true

我不关心之后的检查,只要返回true,我就很高兴。

我尝试了类似 Object.keys(steps).map(step => steps[step].length > 0) 的方法,但这会返回 true 或 false 的数组 [false,假,假,假]

然后我尝试了 Object.keys(steps).filter(step => steps[step].length > 0) 但这会返回一个具有值的项目键数组。

我知道此时我可以简单地检查结果的长度,但我想知道是否有更好的方法来实现这一点。

该对象的大小可能会大幅增长,因此我希望在获得 true 后尽快退出

最佳答案

您可以使用这些值并检查数组的长度。

var hasItems = Object.values(steps).some(array => array.length);

关于javascript - 确定对象内的嵌套数组是否有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52801599/

相关文章:

reactjs - 如果你想将它写入 DOM,传递一个字符串而不是 : w ="true" or w={value. toString()}

javascript - 我的表格复选框中的悬停效果

c - Char 数组中的线性搜索采用垃圾值作为要搜索的元素

c - 在 C 中初始化数组中的元素不会插入到另一个数据结构中

perl - 为什么不应该返回数组 ref?

javascript - 如何阻止 babel 为包含与 javascript 关键字相同名称的方法名添加前缀 "_"

javascript - ES6 的参数名称?

javascript - 使用 CSS (Crocodoc) 更改 DOM 元素顺序

javascript - 重置 JavaScript/jQuery 中不在表单中的增量值

javascript - Onclick 函数在外部 javascript 文件中不起作用