在vuejs中对我的对象数组中的数字进行舍入



我有这个对象:

myObj = [
{name: 'ice', price: 24.76834},
{name: 'cake', price: 12.1623},
{name: 'powder', price: 2}
];

我想把价格元素四舍五入到小数点后两位。我试过了:

myObj.map(a => a.price.toFixed(2));

但它不起作用!我怎样才能把价格四舍五入到小数点后两位?

let myObj=[
{name: 'ice', price: 24.76834},
{name: 'cake', price: 12.1623},
{name: 'powder', price: 2}
]
myObj = myObj.map(val => ({...val, price: val.price.toFixed(2)}));
console.log(myObj);

myObj=[
{name: 'ice', price: 24.76834},
{name: 'cake', price: 12.1623},
{name: 'powder', price: 2}
]
myObj.forEach(val => {val.price = val.price.toFixed(2)})
console.log(myObj);

此工作可能更适合forEach:

myObj = [{
name: 'ice',
price: 24.76834
},
{
name: 'cake',
price: 12.1623
},
{
name: 'powder',
price: 2
}
]
myObj.forEach(a => a.price = a.price.toFixed(2));
console.log(myObj);

它不起作用,因为你只返回价格,而不是整个对象

let myObj=[
{name: 'ice', price: 24.76834},
{name: 'cake', price: 12.1623},
{name: 'powder', price: 2}
]
let result = myObj.map(a => {
a.price = a.price.toFixed(2);
return a
})
console.log(result);

还有一个小旁注:myObj这个名字让我觉得这是一个对象,而不是。一个对象就是这个{}

您也可以使用排列运算符。

const myObj = [
{name: 'ice', price: 24.76834},
{name: 'cake', price: 12.1623},
{name: 'powder', price: 2}
];
const result = myObj.map(a => ({
...a,
price: a.price.toFixed(2)
}));
console.log(result);

像这样尝试

let myObj = [
{ name: "ice", price: 24.76834 },
{ name: "cake", price: 12.1623 },
{ name: "powder", price: 2 }
];
var results = myObj.map((item) =>{ item.price.toFixed(2); return item;});

console.log(results);

最新更新