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

JavaScript如何检查数组指定key的值是否全部为空字符串

问题根因

你的判断逻辑写错了:values数组存储的是带id/name/images等字段的对象,不是直接存储name字符串,你直接判断整个对象=== '',结果永远是false。

修正代码

只需要在every回调中读取每个元素的name属性做判断即可:

options.forEach(function (option) {
    const values = getAvailableValues(option, variants, selected, currentOption);

    // 校验values数组中所有对象的name字段是否全为空字符串
    const allNameEmpty = values.every(item => item.name === '');
    console.log(allNameEmpty);
})
补充说明

如果你要判断「是否存在至少一个name为空」,用some方法的正确写法也是取对象属性判断:

const hasEmptyName = values.some(item => item.name === '');

两个方法的核心区别:

  • every():数组所有元素都满足判断条件时,才返回true
  • some():数组只要有一个元素满足判断条件,就返回true

用你给出的示例数据运行上述修正后的代码,输出结果和预期完全一致:

false
true
false
true

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:57:21