Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 确定对象中的嵌套数组是否具有值_Javascript_Arrays_Ecmascript 6 - Fatal编程技术网

Javascript 确定对象中的嵌套数组是否具有值

Javascript 确定对象中的嵌套数组是否具有值,javascript,arrays,ecmascript-6,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': [] } 该对象中的每个数组都可以

我有一个像这样的对象:

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

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

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


这个对象的大小可能会显著增加,因此我希望在得到
true
后,可以使用这些值并检查数组的长度,以尽早退出

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

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

var hasItems = Object.values(steps).some(array => array.length);
使用
一些

它可以用来检查数组中是否至少有一个元素通过了条件。与Array.Filter类似,它接受一个测试函数,在该函数中它通过源数组的元素进行循环

如果任何一个元素通过测试条件,则返回true。如果测试函数中的所有元素都失败,则返回false。一旦其中一个元件通过测试功能,它就会使回路短路

const stepHasProp = Object.values(steps).some(array => array.length)
使用
一些

它可以用来检查数组中是否至少有一个元素通过了条件。与Array.Filter类似,它接受一个测试函数,在该函数中它通过源数组的元素进行循环

如果任何一个元素通过测试条件,则返回true。如果测试函数中的所有元素都失败,则返回false。一旦其中一个元件通过测试功能,它就会使回路短路

const stepHasProp = Object.values(steps).some(array => array.length)

谢谢,我没有意识到
有些
-你把它分解得很好:)谢谢,我没有意识到
有些
-你把它分解得很好:)