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

ES2015如何判断数组对象中是否存在非空office_id值

解决方案:判断数组中是否存在非空数值型office_id

嘿,这个需求用JavaScript的数组方法就能轻松搞定,some()方法简直是为这个场景量身定做的——只要找到一个符合条件的元素就立刻返回true,遍历到最后都没找到才返回false,完美匹配你的验证需求。

核心代码实现

// 示例数组(和你给出的结构一致)
const process = [
  { office_id: "" },
  { office_id: 6 },
  { office_id: "" }
];

const hasValidOfficeId = process.some(item => {
  // 验证逻辑:排除空字符串,同时确保是数值类型
  return item.office_id !== "" && typeof item.office_id === "number";
});

console.log(hasValidOfficeId); // 输出:true

代码细节解释

  • some()方法会遍历数组中的每个对象,一旦发现某个对象满足回调里的条件,就立即停止遍历(不用浪费性能检查剩下的元素),直接返回true;如果所有元素都不满足条件,才返回false。
  • 我们的判断逻辑刚好贴合你的业务场景:
    1. 先排除默认的空字符串值item.office_id !== ""
    2. 再确保这个值是数值类型typeof item.office_id === "number",对应用户选中内容后生成的带数值ID的对象。

扩展:兼容字符串形式的ID

如果你的业务里有可能出现字符串类型的数字ID(比如"6"),可以把验证条件调整为下面这样,同时兼容数值和合法数字字符串:

const hasValidOfficeId = process.some(item => {
  const parsedId = Number(item.office_id);
  return item.office_id !== "" && !isNaN(parsedId);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:03:52