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

如何判断数组含unplanned条目且需交付项数>0时删除该条目?

解决方案

我来帮你搞定这个问题!你已经写出了核心的计数逻辑,只需要补充几个判断和数组操作就能达成需求啦。

完整实现代码

tickets.forEach(ticket => {
    // 统计当前ticket中需要交付的release数量
    const requiredDeliverCount = ticket.releases.filter(release => release.needToBeDeliver).length;
    // 判断当前releases数组是否包含"unplanned"条目
    const hasUnplannedRelease = ticket.releases.some(release => release.name === 'unplanned');

    // 同时满足两个条件时,移除"unplanned"条目
    if (requiredDeliverCount > 0 && hasUnplannedRelease) {
        ticket.releases = ticket.releases.filter(release => release.name !== 'unplanned');
    }
});

代码解释

  1. 计数需要交付的条目:用filter方法筛选出所有needToBeDeliver为true的release,再取长度,比手动循环计数更简洁直观。
  2. 检查是否存在unplanned条目:用some方法快速判断数组中是否有name为"unplanned"的元素,只要找到一个就返回true,效率更高。
  3. 过滤unplanned条目:当两个条件都满足时,用filter重新生成releases数组,剔除掉name为"unplanned"的条目,并赋值回原ticket的releases属性。

验证结果

  • Ticket1:没有unplanned条目,完全保持不变
  • Ticket2:存在unplanned且需要交付的条目数>0,成功移除unplanned
  • Ticket3、Ticket4:虽然存在unplanned,但需要交付的条目数为0,因此保留该条目

完全符合你给出的期望输出要求哦!

内容的提问来源于stack exchange,提问作者D.k

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:00:33