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

如何修改JavaScript数组过滤代码,实现status对应的globalId双向过滤?

修改对象数组多条件过滤中的status判断逻辑

需求变更说明

原逻辑中status是布尔值,用于控制是否过滤出含有效globalId的项;现在调整为字符串枚举值:

  • 当status为connected时,仅保留含有效globalId(即obj.globalId存在且不为空串)的项
  • 当status为not connected时,仅保留不含有效globalId的项
  • 未选择status时,该过滤条件不生效

修改后的完整过滤代码

items.filter(
    (obj) =>
    (!status || (status === 'connected' ? (obj.globalId && obj.globalId !== "") : !(obj.globalId && obj.globalId !== ""))) &&
    (!deletedSwitch || obj.deleted === deletedSwitch) &&
    (!filteredUsername || obj.userId === userId) &&
    (!filteredType || obj.type === filteredType) &&
    (!filteredVariety || obj.variety === filteredVariety) &&
    (!filteredSize || parseInt(obj.size) === filteredSize)
)

核心修改点

将原布尔值判断的(!status || (obj.globalId && obj.globalId !== ""))替换为基于字符串值的分支判断:

  • 当status为connected,校验obj.globalId有效
  • 当status为not connected,校验obj.globalId无效
  • 若status为空(未选择),则跳过该条件,不对globalId做过滤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:25:16