簡體   English   中英

如何在 java 腳本中的對象數組中多個值

[英]How to multiple a value in Array of objects in java script

這是我的陣列。

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" }
        ]


我想在 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: "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);

與其只返回計算價格,不如返回一個新的 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;});
  • 如果您只是根據需要更改價格並返回所有項目,則可以顯示所有數組項目。

為此,您可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM