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

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,

我正在node.js上构建一个程序,扫描一些货币的价格,并获取价格,但是我希望该程序也记录货币的名称,而不仅仅是价格。正如您在下面的代码中所看到的,console.log中的“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的
    中使用解构赋值,将名称和值提取到单独的常量中
但是,理想情况下,您应该更改起始点,这样您就有了成对的名称(货币)和值(货币值),而不是基于变量名创建它们