Javascript 使用JS fecth获取特定数据

Javascript 使用JS fecth获取特定数据,javascript,json,api,fetch,Javascript,Json,Api,Fetch,有人知道在使用JavaScript获取时如何获取特定数据吗? 我的工作对象是: 不知道如何选择一种货币。我有一个forEach循环,它显示了所有内容,但不确定如何只选择一个来显示。 要显示我使用的所有内容: ${data.rates[rate].name} ${data.rates[rate].rate}<br> ${data.rates[rate].name} ${data.rates[rate].rate} 当我试图展示一个时,我尝试了一些不同的,但我觉得这是最有意义的: $

有人知道在使用JavaScript获取时如何获取特定数据吗? 我的工作对象是: 不知道如何选择一种货币。我有一个
forEach
循环,它显示了所有内容,但不确定如何只选择一个来显示。 要显示我使用的所有内容:

${data.rates[rate].name}
${data.rates[rate].rate}<br>
${data.rates[rate].name}
${data.rates[rate].rate}
当我试图展示一个时,我尝试了一些不同的,但我觉得这是最有意义的:

${data.rates[rate].name == dkk}
${data.rates[rate].rate}<br>
${data.rates[rate].name==dkk}
${data.rates[rate].rate}
但它什么也没做。有人知道如何指定何时只显示一组数据吗

${data.rates[rate].name == dkk}
我假设这里的${}语法是javascript字符串插值。这里要说的是“插入.name和dkk之间相等的值”。我想这可能是在为你显示“真”或“假”

你首先要做的是说

let displayName = '';
if (data.rates[rate].name === dkk) {
    displayName = data.rates[rate].name;
}
然后插入${displayName}

如果这不是您想要做的,我们将不得不看到更多的代码;
let html = '';
for (let rateShort in data.rates) {
    const rateObj = data.rates[rateShort];
    html += `${rateObj.name} ${rateObj.rate}<br>`
}
for(让rate短入data.rates){ const rateObj=数据速率[rateShort]; html+=`${rateObj.name}${rateObj.rate}
` } 参考:


由于fetch语法返回承诺,因此可以使用.then来处理数据。在上面的代码中,我使用了。然后从从fetch接收的数据中返回AED(阿拉伯联合酋长国的比率)对象。我希望这有助于

OP这里,我想如果将来有人看到这一点,最好能评论一下这是如何解决的:

rates.forEach(currency=>{
 if(data.rates[currency].name == 'Danish Krone'){ //if currency name == 'something'
 output = output +
 `
 ${data.rates[currency].name}
 ${data.rates[currency].rate}<br>
 `
}                    
})
rates.forEach(货币=>{
if(data.rates[currency].name=='Danish Krone'){//if currency name=='something'
输出=输出+
`
${data.rates[currency].name}
${data.rates[currency].rate}
` } })
所以基本上你不能写“.name==dkk”来获取货币的名称。实际上,我必须编写一个if语句来检查name==‘currency name’。另外(至少对于这个api),我不能写货币的短版本(dkk),我必须在if语句中写全名。在这之后,获得货币的名称和汇率与循环所有货币时相同。
如果你最终来到这里,希望这对将来的某个人有所帮助:)

差不多了,但我不知道你不能写“dkk”,必须使用货币的全名。我发布了另一条评论,如果你好奇的话,这条评论对我很有用。我还更改了方括号中的变量,因为有太多的“rate”和“rates”,看起来很混乱。
rates.forEach(currency=>{
 if(data.rates[currency].name == 'Danish Krone'){ //if currency name == 'something'
 output = output +
 `
 ${data.rates[currency].name}
 ${data.rates[currency].rate}<br>
 `
}                    
})