2

我有一个包含如下数值的数组:

myArray = [432.2309012, 4.03852, 6546.46756];

我想在点后最多有 2 位数字,所以我使用 toFixed(2):

myArray.forEach(a => a.toFixed(2));

返回的结果是undefined。有什么问题吗?

4

2 回答 2

7

您没有将值设置回去。For each 只是遍历数组并且不返回任何内容。改为使用.map

myArray = [432.2309012, 4.03852, 6546.46756];
myArray = myArray.map(a => a.toFixed(2));
console.log(myArray);

于 2018-02-26T13:35:49.930 回答
3

forEach不返回任何值,这就是您未定义的原因。map改为使用

let myArray = [432.2309012, 4.03852, 6546.46756];
let result = myArray.map(a => a.toFixed(2));

console.log( result );

有关更多信息,您可以查看地图文档


如果你真的想使用forEach,你必须把push每个值都放到一个数组中

let myArray = [432.2309012, 4.03852, 6546.46756];
let result = [];
	
myArray.forEach(a => result.push( a.toFixed(2) ));

console.log( result );

于 2018-02-26T13:35:55.567 回答