如何在对象中迭代和格式化我的值,还将其作为对象返回?

Spa*_*000 0 javascript

所以我有一个像这样的对象:

const maxValues = {
  flexMaxSeatYear: 16270,
  flexMaxTotalCost: 8879809,
  flexMaxTotalNPV: 7026931,
  tradMaxSeatYear: 12979,
  tradMaxTotalCost: 6684694,
  tradMaxTotalNPV: 5504844,
}
Run Code Online (Sandbox Code Playgroud)

我有一个函数来将这些对象值格式化为字符串,它将输出如下内容:

const maxValues = {
  flexMaxSeatYear: '16270',
  flexMaxTotalCost: '8879809',
  flexMaxTotalNPV: '7026931',
  tradMaxSeatYear: '12979',
  tradMaxTotalCost: '6684694',
  tradMaxTotalNPV: '5504844',
}
Run Code Online (Sandbox Code Playgroud)

我试过的

我可以将这些数字格式化为:

Object.values(maxValues).map(values => values.toLocaleString('en')
// ['16270', '8879809', '7026931' ....]
Run Code Online (Sandbox Code Playgroud)

但这只返回一个只包含值的数组.有没有一种方法可以帮助返回已调整值但带有键的对象?谢谢.

Ori*_*ori 6

您可以使用Object.entries()with Array.reduce()来获取对象:

const maxValues = {"flexMaxSeatYear":16270,"flexMaxTotalCost":8879809,"flexMaxTotalNPV":7026931,"tradMaxSeatYear":12979,"tradMaxTotalCost":6684694,"tradMaxTotalNPV":5504844};

const result = Object.entries(maxValues).reduce((r, [k, v]) => ({
  ...r,
  [k]: v.toLocaleString('en')
}), {});

console.log(result);
Run Code Online (Sandbox Code Playgroud)