javascript - 无法使用方法(传递)索引作为参数从数组中检索数据
问题描述
在将索引作为参数传递时无法使用 method() 获取数组项,它显示为未定义
export class DataService {
public list = [
{ id: 11, name: 'Mr. Nice' },
{ id: 12, name: 'Narco' },
{ id: 13, name: 'Bombasto' },
{ id: 14, name: 'Celeritas' },
{ id: 15, name: 'Magneta' },
{ id: 16, name: 'RubberMan' },
{ id: 17, name: 'Dynama' },
{ id: 18, name: 'Dr IQ' },
{ id: 19, name: 'Magma' },
{ id: 20, name: 'Tornado' }
]
getList() {
return this.list;
}
update(num, updated) {
let list = this.getList()
console.log(typeof (num))
console.log(this.list[num])
}
解决方案
您的数组包含对象,但您想搜索id
这些对象的属性。你必须使用filter
:
console.log(this.list.find(el => el.id === id))
推荐阅读
- javascript - 仅在来自特定链接时运行 Javascript
- c - 关于主函数的全局变量或局部变量有什么区别?
- reactjs - 无法在我的父组件中呈现作为 prop.children 接收的组件
- postgresql - 如何计算给定日期范围内的间隔数?更简单的版本
- javascript - 为什么 Date.now() 是一个非纯函数?
- javascript - Angularjs嵌套选项卡绑定到json
- javascript - 全局变量未在函数内更新
- postgresql - 使用包含状态字段的复合主键优化数据集
- javascript - 该 css 文件未出现在检查谷歌中
- linux - Tomcat 重启时启动:init.d 脚本不成功