Javascript 使用lodash/fp从国家/地区列表中获取货币

Javascript 使用lodash/fp从国家/地区列表中获取货币,javascript,reactjs,lodash,Javascript,Reactjs,Lodash,我怎样才能从这个包含Lodash的国家/地区数组中获取每个货币的货币数组? 我以前有这个getCurrences函数,但是我不能用它来获取符号,所以现在我制作了这个getCurrenceswithsymbol,但是它制作了重复的东西,像这样{key:,displayName:,currencySymbol:undefined} import { flow, map, uniq, keyBy, compact, pick } from "lodash/fp"; const

我怎样才能从这个包含Lodash的国家/地区数组中获取每个
货币的货币数组?
我以前有这个getCurrences函数,但是我不能用它来获取符号,所以现在我制作了这个
getCurrenceswithsymbol
,但是它制作了重复的东西,像这样
{key:,displayName:,currencySymbol:undefined}

import { flow, map, uniq, keyBy, compact, pick } from "lodash/fp";


const countries = [
  {
    key: "US",
    name: "United States",
    currency: "USD",
    currencySymbol: "$"
  },
  {
    key: "TW",
    name: "Taiwan",
    currency: "TWD",
    currencySymbol: ""
  }
];


function getCurrencies(countries) {
  const currencies = flow(
    map("currency"),
    uniq,
    compact,
    map((each) => ({ key: each, displayName: each }))
  )(countries);

  return {
    asList: currencies,
    byKey: keyBy("key", currencies)
  };
} // [{key: "USD", displayName: "USD"}, {key: "TW", displayName: "TW"}]


function getCurrenciesWithSymbol(countries) {
  const currencies = flow(
    map(pick(["currency", "currencySymbol"])),
    uniq,
    compact,
    map((each) => ({
      key: each.currency,
      displayName: each.currency,
      currencySymbol: each.currencySymbol
    }))
  )(countries);

  return {
    asList: currencies,
    byKey: keyBy("key", currencies)
  };
}

//Expected
// [
//   { displayName: "USD", key: "USD", currencySymbol: "$" },
//   { displayName: "TW", key: "TW", currencySymbol: "" }
// ];
使用
\ uqby('currency')
删除阵列的重复数据,然后映射到请求的表单:

const{flow,uniqBy,map}=\;
const getcurrenceswithsymbol=流量(
uniqBy(“货币”),
地图({货币,货币符号})=>({
显示名称:货币,
关键:货币,
货币符号
}))
);
const countries=[{“key”:“US”,“name”:“US”,“currencySymbol”:“$”},{“key”:“TW”,“name”:“Taiwan”,“currencySymbol”:“TWD”,“currencySymbol”:“}];
const result=getcurrenceswithsymbol(国家);
控制台日志(结果)
使用
\.uniqBy('currency')
删除阵列的重复数据,然后映射到请求的表单:

const{flow,uniqBy,map}=\;
const getcurrenceswithsymbol=流量(
uniqBy(“货币”),
地图({货币,货币符号})=>({
显示名称:货币,
关键:货币,
货币符号
}))
);
const countries=[{“key”:“US”,“name”:“US”,“currencySymbol”:“$”},{“key”:“TW”,“name”:“Taiwan”,“currencySymbol”:“TWD”,“currencySymbol”:“}];
const result=getcurrenceswithsymbol(国家);
控制台日志(结果)