为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

HUH函数 2023-10-14 18:17:51
我正在 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));        }但似乎货币变量想要返回与其关联的值,而不是货币名称......我该如何切换?谢谢大家的帮助,我会一步步做好的!
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

一旦你这样做:


const currencies = [euro, yen];

没有从back 到或从back 到 的链接。获取和变量的值并将这些值放入数组中。currencies[0]eurocurrencies[1]yen[euro, yen]euroyen


尝试对您所拥有的进行最小的更改,您可以使用对象而不是数组:


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变量的值的对象。

  • Object.entries[name, value]从对象自己的可枚举属性创建一个对的数组。该数组最终是:

    [ ["euro", euroValue], ["yen", yenValue] ]

    (当然,您可以直接这样做,而不是通过Object.entries({euro, yen})。)

  • for-of循环遍历该数组中的条目。

  • 我在 中使用解构赋值来for-of将名称和值获取到单独的常量中。

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


查看完整回答
反对 回复 2023-10-14
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信