发布
社区首页 >问答首页 >如何记录变量的名称而不是与其关联的数据?

如何记录变量的名称而不是与其关联的数据?
EN

Stack Overflow用户
提问于 2020-12-05 09:49:21
回答 1查看 42关注 0票数 0

我正在node.js上构建一个程序,扫描一些货币的价格,我正在获取价格,但是我希望这个程序也记录货币的名称,而不仅仅是价格。正如您在下面的代码中所看到的,console.log中的“currency”变量是我在记录价格之前试图让名称显示的。

代码语言:javascript
代码运行次数:0
复制
    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));
        }

但是货币变量似乎想返回与它相关的值,而不是货币的名称.我该怎么换呢?谢谢大家的帮助,一步一步的做好这件事!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-05 09:55:52

一旦你这样做:

代码语言:javascript
代码运行次数:0
复制
const currencies = [euro, yen];

没有从currencies[0]返回euro或从currencies[1]返回yen链接。[euro, yen]获取euroyen变量的,并将这些放在数组中。

为了尽量减少对所拥有内容的更改,您可以使用对象而不是数组:

代码语言:javascript
代码运行次数:0
复制
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: euro, yen: yen}。因此,您将得到一个属性为"euro""yen"的对象,它的值来自euroyen,它从对象自己的可枚举属性创建了一个[name, value]对数组。数组的结果是: ["euro", euroValue], ["yen", yenValue]
  • for-of循环遍历数组中的条目。
  • I使用for-of中的析构赋值将名称和值捕获到单独的常量中。

但是,理想情况下,您应该更改起点,以便开始时有一对名称(货币)和值(货币值),而不是基于变量名称创建它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65155666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档