angular - 不能将 .some() 与对象数组一起使用
问题描述
我正在尝试检查我的对象数组是否包含具有指定值的属性。为此,我想到了使用array.some()
, 而不是 foreach 循环。但是我不断收到错误消息:
错误 TS2345:“(元素:ListaDetalhePendenciaAprovacao)=> void”类型的参数不可分配给“(值:ListaDetalhePendenciaAprovacao,索引:数字,数组:ListaDetalhePendenciaAprovacao[])=> 布尔”类型的参数。类型 'void' 不能分配给类型 'boolean'。
代码如下:
let existeApr = this.pendenciasList.some(element =>{
!isUndefined(element.isSelected) && element.isSelected
})
let existeRej = this.pendenciasList.some(element =>{
!isUndefined(element.isSelected) && element.isSelected
})
我也遇到了与array.findIndex() 相同的问题。我为我的母语中的属性道歉,我认为这不应该是一个问题。
提前致谢!
解决方案
这是因为您传递给的回调中的花括号some
。如果打开花括号,则需要从中返回一个布尔值:
let existeApr = this.pendenciasList.some(element =>{
return !isUndefined(element.isSelected) && element.isSelected
})
但是对于像你这样的单行,你应该完全放弃花括号并使用这样的东西:
let existeApr = this.pendenciasList.some(element =>
!isUndefined(element.isSelected) && element.isSelected)
推荐阅读
- javascript - Javascript Split innerText and wrap with a Span
- python-3.x - discord.py - 如何将命令添加到父命令
- swiftui - SwiftUI 导航视图 - 在多个视图中处理大小类
- javascript - 为什么 .append() 会替换下面代码中 tbody 的内容?
- css - CSS:即使在滚动后也带有圆角的正文边框
- html - 部署后 11 IE 中的标题和导航标签无法正常工作
- json - 在 TypeScript 中更改导入 JSON 的类型
- python - 如何在列中查找具有相似名称的单元格并使用 Python 和 Pandas DataFrame 对其进行汇总
- sql-server - vps 和笔记本电脑之间的 SQL 复制“进程无法连接到分发服务器”
- python - NameError:名称“屏幕”未定义