javascript - 返回对象后这个数组的作用是什么?

标签 javascript arrays reactjs object ecmascript-6

谁能描述一下 [this.props.currency] 放在返回对象之后的目的,或者我可以阅读有关此模式的地方,因为我以前从未见过它。

我不是在问 this.props.currency 是什么,而是它在返回对象之后的用途。

在这篇博文中看到: https://javascriptplayground.com/react-extracting-logic/

export const getCurrencyData = currency => {
    return {
        GBP: { base: 100, symbol: '£' },
        USD: { base: 100, symbol: '$' },
      }[this.props.currency];
    };

最佳答案

它所做的只是使用 this.props.currency 的键获取属性的值 - 所以如果 currency"GBP",返回值为{ base: 100, symbol: "£"} 。你可以这样写,这样更清楚:

export const getCurrencyData = currency => {
    const obj = {
        GBP: { base: 100, symbol: '£' },
        USD: { base: 100, symbol: '$' }
      };
      return obj[this.props.currency];
};

您还可以利用带有箭头函数的显式返回功能来删除 return 关键字:

export const getCurrencyData = currency => ({
    GBP: { base: 100, symbol: '£' },
    USD: { base: 100, symbol: '$' },
}[this.props.currency]);

关于javascript - 返回对象后这个数组的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56606425/

相关文章:

javascript - react Prop 类型 : custom validators not firing

javascript - 如何使下拉菜单恰好出现在 Material-UI 中的栏下方?

javascript - 如何将值从组件传递到 Redux 表单

reactjs - 如何对屏幕部分使用深色主题

javascript - 如何获取使用 <script> 调用的 js 函数的结果?

javascript - 为什么我的查询项的 entityAspect 为空?

javascript - 在 PHP 中从 JSON 填充选择列表

python - 在python中按行对二维数组进行排序

javascript - 如何使用 onclick 函数删除数组中的项目?

reactjs - 使用 create-react-app 添加更多 service-worker 功能