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

如何遍历数组并返回包含value为true的元素对象?

解决方法:筛选status数组中含true值的元素

原代码的问题

  1. 误用了map方法:map是用来转换数组元素的,不是做筛选逻辑,筛选应该用filter
  2. 拼写错误:staus应该是status
  3. 类型不匹配:输入数据里的value是字符串类型的"true"/"false",不是布尔值true,原代码的status.value === true判断会失效
  4. 回调无返回值:map的回调里没有写return,最终得到的items会是全undefined的数组

修正后的代码

public displayCondition(data: any[]) {
  // 筛选出status数组中存在任意一个value为"true"的元素
  return data.filter(item => {
    return item.status.some(statusItem => statusItem.value === "true");
  });
}

代码说明

  • filter:遍历输入的data数组,仅保留回调返回true的元素
  • some:检查当前元素的status数组,只要有一个对象的value等于"true",就返回true,满足筛选条件

测试验证

输入数据:

const data = [
  {
    name: "php",
    status: [
      { value: "true" },
      { value: "false" }
    ]
  },
  {
    name: "java",
    status: [
      { value: "false" },
      { value: "false" }
    ]
  }
]

调用displayCondition(data)后,会得到期望输出:

[
  {
    name: "php",
    status: [
      { value: "true" },
      { value: "false" }
    ]
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 02:45:34