首页 > 解决方案 > 对数组中的每个值使用函数

问题描述

我是 javascript 新手,非常感谢您的帮助。我有以下数组:

let array = 
[{key: "sabc", value: 19},
 {key: "spalabc", value: 21},
 {key: "spalte2", value: 22},
 {key: "spabc2", value: 22},
 {key: "spabce2", value: 23}]

我想要一个新数组,其中所有值都通过函数更改(在本例中为以 10 为底的对数)。所以新的数组应该是这样的:

let array = 
[{key: "sabc", value: 1.278753601},
 {key: "spalabc", value: 1.322219295},
 {key: "spalte2", value: 1.342422681},
 {key: "spabc2", value: 1.342422681},
 {key: "spabce2", value: 1.361727836}]

我尝试了 forEach,但我没有得到我想要的结果。

标签: javascript

解决方案


您可以使用.map

let array = 
[{key: "sabc", value: 19},
 {key: "spalabc", value: 21},
 {key: "spalte2", value: 22},
 {key: "spabc2", value: 22},
 {key: "spabce2", value: 23}]
 
arr = array.map(e => {
  return {...e, value:Math.log10(e['value'])};
});

console.log(...arr);


推荐阅读