【发布时间】:2020-04-25 15:39:00
【问题描述】:
有一个网站 (Scryfall) 可以搜索所有万智牌:曾经打印过的收集卡并返回特定结果(特定稀有度/强度/名称等的卡)。我喜欢这个网站,但我只想在我个人拥有的卡片中进行搜索。
所以 Scryfall 有一个返回 JSON 结果的搜索 API。我已经将 collection.json 作为本地 JSON 文件,其中包含我个人收藏的数据,所以当我搜索 Scryfall 的 API 时,它会返回 JSON,将其与我的本地 JSON 进行比较,并且只显示两者都匹配的内容前端。
这是我目前所拥有的:
async function fetchAsync (url) {
let response = await fetch(url)
let data = await response.json()
return data
}
let collection = fetchAsync('./collection')
let scryfall = fetchAsync('http://api.scryfall.com/cards/search?q=ceratops&unique=cards&as=grid&order=name')
let results = JSON.parse(scryfall).data.filter(card => { return collection.includes(card.id) } )
results.forEach(function (card) {
document.querySelector('.card').innerHTML += "<li>" + card.name + "</li>"
})
我希望它只在前端输出匹配的结果,但它没有这样做。
【问题讨论】:
-
请分享您所做的一些代码,以便我们为您提供帮助
-
这是我目前所拥有的:
async function fetchAsync (url) { let response = await fetch(url) let data = await response.json() return data } let collection = fetchAsync('./collection') let scryfall = fetchAsync('http://api.scryfall.com/cards/search?q=ceratops&unique=cards&as=grid&order=name') let results = JSON.parse(scryfall).data.filter(card => { return collection.includes(card.id) } ) results.forEach(function (card) { document.querySelector('.card').innerHTML += "<li>" + card.name + "</li>" }) -
请将代码添加到问题中,而不是在评论中????
-
同样,根据要求 - 预期答案的示例会很棒
-
这一切都完成了 - 非常感谢,很抱歉给您带来麻烦!