javascript - 如何检查数组中的特定键在每个索引处是否为空?
问题描述
所以我有一个要迭代的对象数组,在每次迭代时我都需要检查一个名为的键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
。
解决方案
用于Array.every()
检查每个项目的长度是否为 0 (!0 === true)。如果所有项目的长度都为 0,则 each 将返回true
。如果false
遇到 a(即长度 > 0),every 将false
立即返回。
const allEmpty = blockColumns.every(o => !o.blocks.length)
if(allEmpty) doSomething()
推荐阅读
- javascript - React Router 在重定向到具有不同 slug 的同一页面时触发重新加载/重新安装组件
- c# - How to use a class in an if statement
- django - 如何将数据插入到一个模型的字段中,该模型是 OnetoOneField 与另一个模型映射的
- git - 在 Ember 中加载的 Ghost URL
- api - 如何使用 Pinterest V1 API 端点在 Pinterest 中搜索查询?
- java - 如何在 Hibernate 中使用 session.merge?
- mysql - SQL TRIGGER:一次将已删除的行插入表中,而不将每一列都列为 INSERT 值
- react-native-maps - 如何在 react-native-maps 中搜索地点?
- java - 我可以在线程内强制中断吗?
- jquery - 显示后在主 div 上强制 window.scroll()