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

对象数组调用array.some()方法出现TS2345错误如何解决?

报错根因

Array.some()、Array.findIndex()均属于数组判断类方法,TS对这类方法的入参回调有强制类型要求:回调必须返回布尔值,用来标记当前遍历项是否匹配条件。
你当前使用带大括号的箭头函数写法,且大括号内没有显式声明return,回调默认返回void类型,和要求的boolean类型不匹配,因此触发TS2345类型错误。

修复方法

两种写法任选其一即可:

  • 写法1:省略箭头函数的大括号,自动返回表达式结果
let existeApr = this.pendenciasList.some(element => 
  !isUndefined(element.isSelected) && element.isSelected
)

let existeRej = this.pendenciasList.some(element => 
  !isUndefined(element.isSelected) && element.isSelected
)
  • 写法2:保留大括号,手动添加return语句返回布尔值
let existeApr = this.pendenciasList.some(element => {
  return !isUndefined(element.isSelected) && element.isSelected
})

let existeRej = this.pendenciasList.some(element => {
  return !isUndefined(element.isSelected) && element.isSelected
})

findIndex方法的报错原因和修复逻辑完全一致,只要保证传入的回调函数返回布尔值即可解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:09:00