![](/img/trans.png)
[英]Looping through an object and adding values to a Javascript object with the incremental count as the key
[英]javascript manipulate an object by adding/looping keys and values
我正在从事购物车功能练习。 该功能需要在cart
添加一件item
,并且它会打印出已添加到购物车中的item name
,或者如果未添加任何商品,则您的购物车为空。
我还需要创建一个对象来存储Math.Random * 100生成的物料价格。
物品名称和价格都应存储在对象中。 该对象将传递给下一个函数,供用户查看购物车。
这是我的尝试,但它一次使多个项目保持不变。
function addToCart(item) {
item = ["pizza", "salt", "apples"]
var price = []
var priceRandom = Math.random() * 100
var priceItem = Math.floor(priceRandom)
for (var i =0; i<item.length; i++){
cart.push(item[i])
console.log(`${item[i]}has been added to your cart. `)
}
var cartList = {
item[i], priceItem[i]
}
return cartList
}
我不会做你的整个运动,我也不应该。
但是这里有一个对象“ items”,其中包含两个数组(名称和价格)
var items = {
names: ["pizza", "salt", "apples"],
price: []
}
使用forEach()
我们将遍历items
对象中的所有names
,并为其指定价格。
items.names.forEach(function() {
var priceRandom = Math.random() * 100
var priceItem = Math.floor(priceRandom)
items.price.push(priceItem);
});
我想这就是你想要的
function shopingcart(items){ let cart =[]; items.forEach((v,i)=> {cart[i] = {food: v,price: Math.floor(Math.random(i)*100)}}); return cart } var items = ['pizza', 'salt', 'apples'] var cart = shopingcart(items); console.log(cart); // iterate by key value cart.forEach((item)=>{ console.log( item.price) console.log(item.food) })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.