对象数组中的四舍五入值
2019-08-21
1722
我有一个对象数组,我想将值四舍五入为最接近的整数。你知道我该怎么做吗?
items.forEach(item => console.log(item.value.toFixed(0)));
但我需要数字,而不是字符串。
我也尝试使用 map
items.map(item => item.value.toFixed(0)).map(Number);
但我不想将 item 更改为 item.value
我希望你能帮助我。
const items = [
{
name: 'pen',
value: 10.12
},
{
name: 'rubber',
value: 5.99
}
];
3个回答
使用
Math.round
const items = [
{
name: 'pen',
value: 10.12
},
{
name: 'rubber',
value: 5.99
}
];
var results = items.map(item => Math.round(item.value));
console.log(results);
当然,如果您愿意,可以保留原始对象,为此使用
扩展语法
的
...items
保留现有对象的所有属性 - 只需根据需要用其四舍五入版本覆盖
value
即可。
const items = [
{
name: 'pen',
value: 10.12
},
{
name: 'rubber',
value: 5.99
}
];
var results = items.map(item => ({
...item,
value: Math.round(item.value)
}));
console.log(results);
Jamiec
2019-08-21
Math.round()
将把数字四舍五入为最接近的整数
Sam
2019-08-21
您可以像这样向数组中的对象添加新属性:
const items = [
{
name: 'pen',
value: 10.12
},
{
name: 'rubber',
value: 5.99
}
];
items.forEach(item => item.rounded = Math.round(item.value));
console.log(items);
这将为您提供:
{
"name": "pen",
"value": 10.12,
"rounded": 10
},
{
"name": "rubber",
"value": 5.99,
"rounded": 6
}
]
lnrdnl
2019-08-21