如何对对象内部的数字进行舍入
2018-08-06
378
我怎样才能像这样对对象内部的数字进行舍入:
{1: {x:10.76, y:50.44}, 2:{x:5.887, y:23.433}, ...}
我尝试使用 map 来执行此操作,但我猜 map 仅适用于数组
obj.map(function(each_element){
return Number(each_element.toFixed(0.1));
});
2个回答
使用
Object.values
获取每个内部对象,然后遍历每个
entries
并将新的舍入数字分配给内部对象的相应键:
const input = {1: {x:10.76, y:50.44}, 2:{x:5.887, y:23.433} };
Object.values(input).forEach((inner) => {
Object.entries(inner).forEach(([key, val]) => {
inner[key] = Math.round(val);
});
});
console.log(input);
CertainPerformance
2018-08-06
您可以使用
for
循环来实现:
var obj = {1: {x:10.76, y:50.44}, 2:{x:5.887, y:23.433}};
for(var keyOuter in obj){
for(var keyInner in obj[keyOuter]){
obj[keyOuter][keyInner] = obj[keyOuter][keyInner].toFixed(0.1);
}
}
console.log(obj);
Ankit Agarwal
2018-08-06