首页 > 解决方案 > 如何将元素添加到对象?

问题描述

JavaScript:

let stock = {
1001: {product: 'Chocolates', cost: 10, quantity: 0},
1002: {product: 'Biscuits', cost: 10, quantity: 0},
1003: {product: 'Bread', cost: 20, quantity: 0},
1004: {product: 'Milk', cost: 25, quantity: 0},
1005: {product: 'Curd', cost: 20, quantity: 0},

}

所以,在 JavaScript 方面,我声明了一个对象,“股票”。现在使用 HTML 的提示符作为输入,我想添加输入代码、产品、成本和数量。

HTML:

<body>
<h1>My Shop</h1>
<label for="numberOfNewProducts" id="numberOfNewProductsLabel">Enter the Number of New Products to be Added: </label>
<br>
<input type="text" id="numberOfNewProducts" value="" placeholder="Enter the number of new Products to be added">
<button type="button" class="btn btn-default" id="addButton" onclick="addProduct()">Add</button>
<script src="stock.js"></script>
<script>
    function addProduct(){
        let numberOfNewProducts = document.getElementById("numberOfNewProducts").value;
        Number(numberOfNewProducts);
        number = 0;
        while(number < numberOfNewProducts){
            number++;
            let inputCode = prompt("Entert the Code you want to give to the New Product: ");
            Number(inputCode);
            let inputProductName = prompt("Enter the Name of the New Product: ");
            let inputProductCost = prompt("Enter the Cost of the New Product: ");
            Number(inputProductCost);
            let inputProductQuantity = prompt("Enter the Quantity of the New Product: ");
            Number(inputProductQuantity);
            stock[inputCode].product = inputProductName;
            stock[inputCode].cost = inputProductCost;
            stock[inputCode].quantity = inputProductQuantity;
            console.log(stock);
        }
    }
</script>

while 循环的结尾也有点令人困惑。如何将输入代码和所有产品、成本和数量添加到对象“库存”?

标签: javascripthtml

解决方案


只需创建一个对象,如:

var obj = {product:"Cookie",cost:10,quantity:0};

然后添加到stock类似:

stock[inputCode] = obj;

推荐阅读