【发布时间】:2018-05-02 10:52:44
【问题描述】:
以下代码
const endpoint = 'https://raw.githubusercontent.com/Hipo/university-domains-list/master/world_universities_and_domains.json';
const universities = [];
fetch(endpoint)
.then(results => results.json())
.then(data => universities.push(...data));
console.log(universities);
function findMatches(wordToMatch, universities) {
return universities.filter(uni => {
const regex = new RegExp(wordToMatch, 'gi');
return uni.name.match(regex)
})
}
export default findMatches;
返回下面的错误
'Uncaught TypeError: Cannot read property 'filter' of undefined'
我可以使用 console.log(universities) 记录数据。那为什么我不能过滤呢?仅供参考,数据是一个对象数组。非常感谢任何帮助。谢谢。
【问题讨论】:
-
你是如何调用 findMatches 的
-
我很惊讶
console.log记录了任何内容。 -
请注意,
universities在findMatches中的作用域变量与const universities不同,除非这是您在调用 findMatches() 时传入的变量 -
你得到它是因为你试图过滤一个包含 json 数据的数组。
-
对不起 Linas,我正在另一个文件中调用它。我将它导入到我的主应用程序文件中,然后也在那里调用它。实际文件然后由 webpack 打包。
标签: javascript arrays json api filter