You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用ES6简洁遍历嵌套对象数组检查是否存在空字符串

实现方案

你可以直接组合ES6的Array.some()和Object.values()实现需求,无需额外依赖,也能自动适配time下的属性变更:

// 检查是否存在time下的空字符串字段
const hasEmptyTimeField = array.some(item => 
  Object.values(item.time).some(val => val === '')
)

if (hasEmptyTimeField) {
  // 存在空字段时的逻辑
} else {
  // 所有time字段都非空时的逻辑
}

说明

  • Array.some()会短路执行,只要找到第一个符合条件的项就停止遍历,性能远优于你原有写法中多次遍历数组的逻辑
  • Object.values()会自动取出time对象的所有属性值,后续新增/减少time下的属性不需要修改判断逻辑
  • 如果你需要兼容null、undefined这类空值,只需要把判断条件val === ''改成!val即可,注意如果time下的属性合法值包含0、false这类布尔假值,请不要使用该写法

如果你仍想使用lodash,可以简化为以下写法:

const hasEmptyTimeField = array.some(item => _.some(item.time, _.isEmpty))

内容的提问来源于stack exchange,提问作者programhur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 07:15:04