首页 > 解决方案 > 如何检查数组中的特定键在每个索引处是否为空?

问题描述

所以我有一个要迭代的对象数组,在每次迭代时我都需要检查一个名为的键blocks是否有长度。

如果所有的blocks键都是空的(长度=== 0)那么我需要做一个操作,否则不要。得到它?如果 ONNLY ONEblocks键有 alength > 0则应避免该操作。

    for (let i = 0; i < blockColumns.length; i++) {
      if (!blockColumns[i].blocks.length) {
        // TRIGGER OPERATION
      }
    }

在上面的代码中,问题是当至少一个blocks键没有长度时会触发操作,这是我不需要的。blocks仅当所有键都具有时才应触发该操作length === 0

标签: javascriptarraysecmascript-6

解决方案


用于Array.every()检查每个项目的长度是否为 0 (!0 === true)。如果所有项目的长度都为 0,则 each 将返回true。如果false遇到 a(即长度 > 0),every 将false立即返回。

const allEmpty = blockColumns.every(o => !o.blocks.length)

if(allEmpty) doSomething()

推荐阅读