javascript通过添加/循环键和值

时间:2017-05-28 22:36:53

标签: javascript arrays object

我正在进行购物车功能练习。该功能需要在item中添加一个cart,并且已打印出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

}

2 个答案:

答案 0 :(得分:0)

我不打算做你的整个练习,我也不应该。

但是在这里你有一个对象'items`,它包含两个数组(名称和价格)

var items = {
    names: ["pizza", "salt", "apples"],
    price: []

}

使用forEach(),我们将遍历names对象中的所有items并为其提供价格。

items.names.forEach(function() {
    var priceRandom = Math.random() * 100
    var priceItem = Math.floor(priceRandom)
    items.price.push(priceItem);
});

答案 1 :(得分:0)

我认为这就是你想要的

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)
})