Javascript 如何记录变量的名称而不是与之关联的数据?
我正在node.js上构建一个程序,扫描一些货币的价格,并获取价格,但是我希望该程序也记录货币的名称,而不仅仅是价格。正如您在下面的代码中所看到的,console.log中的“currency”变量是我在记录价格之前试图使名称显示出来的变量Javascript 如何记录变量的名称而不是与之关联的数据?,javascript,node.js,Javascript,Node.js,我正在node.js上构建一个程序,扫描一些货币的价格,并获取价格,但是我希望该程序也记录货币的名称,而不仅仅是价格。正如您在下面的代码中所看到的,console.log中的“currency”变量是我在记录价格之前试图使名称显示出来的变量 const currencies = [euro, yen]; for (let currency of currencies) { const pair = await fetchPairData(currency,
const currencies = [euro, yen];
for (let currency of currencies) {
const pair = await fetchPairData(currency, dollar);
const route = new Route([pair], dollar);
console.log(currency + route.midPrice.toSignificant(6));
}
但似乎currency变量想要返回与其关联的值,而不是货币的名称。。。我该如何切换?
谢谢大家的帮助,我会一步一步做好的 一旦执行此操作:
const currencies = [euro, yen];
从货币[0]
返回到欧元
或从货币[1]
返回到日元
没有链接[欧元,日元]
获取欧元
和日元
变量的值,并将这些值放入数组中
为了尽量减少对现有内容的更改,您可以使用对象而不是数组:
for (let [currencyName, currencyValue] of Object.entries({euro, yen})) {
const pair = await fetchPairData(currencyValue, dollar);
const route = new Route([pair], dollar);
console.log(currencyName, currencyValue + route.midPrice.toSignificant(6));
}
工作原理:
是使用速记属性表示法的对象文字;最常用的是{欧元:欧元,日元:日元}。因此,您将得到一个名为{euro,yen}
和“euro”
的对象,其属性包含“yen”
和euro
变量中的值yen
从对象自身的可枚举属性创建一个Object.entries
对数组。该阵列最终为:[name,value]
(当然,您可以直接这样做,而不是通过[ ["euro", euroValue], ["yen", yenValue] ]
)Object.entries({euro,yen})
循环遍历该数组中的条目for of
- 我在of的
中使用解构赋值,将名称和值提取到单独的常量中