blu*_*isk -1 arrays find angular
我正在开发的一个 Angular 应用程序SourceService首先从 API 端点获取源,将它们存储到内存中并用作本地缓存,可以通过id. 到目前为止一切顺利,我想。但函数findSourceById总是返回undefined。为什么?
findSourceById(id: number): Source {
console.log(this.sources);
console.log(id);
console.log(this.sources.find(s => s.id === id));
return this.sources.find(s => s.id === id)
}
Run Code Online (Sandbox Code Playgroud)
以上输出:
数组 [{id: 1} {id: 2}] // 模型
2
不明确的
但是,如果我使用 DevTools 将数组分配给一个新的全局变量,然后find在该变量上运行相同的函数,它会返回预期的元素。
另外,如果我插入debugger的return语句之前声明,我看到,this.sources仍然是两个数组,而是s在find函数定义是不明确的。看起来 JavaScript 错误地将 Array 元素传递到循环迭代中。