[英]How to multiple a value in Array of objects in java script
This is my array.这是我的阵列。
let menu = [
{ id: 1, name: "Soda",price: 3.12,size: "4oz",type: "Drink" },
{ id: 2, name: "Beer", price: 6.50, size: "8oz", type: "Drink" },
{ id: 3, name: "Margarita", price: 12.99, size: "12oz", type: "Drink" },
{ id: 4, name: "Pizza", price: 25.10, size: "60oz", type: "Food" },
{ id: 5, name: "Kebab", price: 31.48, size: "42oz", type: "Food" },
{ id: 6, name: "Berger", price: 23.83, size: "99oz", type: "Food" }
]
I want to multiple prices in 1.8 and also double the sizes我想在 1.8 的多个价格中增加一倍的尺寸
Then I want to show the main menu after these changes然后我想在这些更改后显示主菜单
This is my code and What I did.这是我的代码和我所做的。 This shows only prices and sizes, but I want the whole menu.
这仅显示价格和大小,但我想要整个菜单。
Code:代码:
let menu = [ { id: 1, name: "Soda",price: 3.12,size: "4oz",type: "Drink" }, { id: 2, name: "Beer", price: 6.50, size: "8oz", type: "Drink" }, { id: 3, name: "Margarita", price: 12.99, size: "12oz", type: "Drink" }, { id: 4, name: "Pizza", price: 25.10, size: "60oz", type: "Food" }, { id: 5, name: "Kebab", price: 31.48, size: "42oz", type: "Food" }, { id: 6, name: "Berger", price: 23.83, size: "99oz", type: "Food" } ] let prices = menu.map(item => item.price); multipliedPrice = prices.map(item => (item * 1.8).toFixed(2)); //------------------------------------------------------- doubledSize = menu.map(item => 2 * parseInt(item.size)); console.log("Size in USA is: " + doubledSize); console.log("Price in USA is: " + multipliedPrice);
Instead of returning the cacuated price only, return a new object like this:与其只返回计算价格,不如返回一个新的 object,如下所示:
menu.map(item => {
return { ...item,
price: 2 * parseInt(item.size)
}
});
let prices = menu.map(item => { item.price = (item.price * 1.8).toFixed(2); return item;});
You can use Array.map for this purpose, we'll multiply each price by 1.8 and then double the size of each item:为此,您可以使用Array.map ,我们将每个价格乘以 1.8,然后将每个项目的大小加倍:
let menu = [ { id: 1, name: "Soda",price: 3.12,size: "4oz",type: "Drink" }, { id: 2, name: "Beer", price: 6.50, size: "8oz", type: "Drink" }, { id: 3, name: "Margarita", price: 12.99, size: "12oz", type: "Drink" }, { id: 4, name: "Pizza", price: 25.10, size: "60oz", type: "Food" }, { id: 5, name: "Kebab", price: 31.48, size: "42oz", type: "Food" }, { id: 6, name: "Burger", price: 23.83, size: "99oz", type: "Food" } ]; const newMenu = menu.map(item => { return {...item, price: item.price * 1.8, size: parseInt(item.size) * 2 + "oz" } }) console.log("New menu:"); console.log("Item".padEnd(20) + "Size in USA".padEnd(20) + "Price in USA"); newMenu.forEach(item => console.log(item.name.padEnd(20) + (item.size + "").padEnd(20) + item.price.toFixed(2)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.