javascript - 每次运行函数时如何将对象添加到数组中?

标签 javascript arrays object

我正在尝试编写一个系统,每次输入新数据并按添加键时,它都会创建一个对象,并将该对象添加到数组中。但我不确定如何将新对象添加到数组中。另外我不确定为什么我的代码不在黄色框中。


var products = [];



class Product {

    constructor(productname, cost, quantity){
        this.productname = productname;
        this.cost = cost;
        this.quantity = quantity;
    }

}


function addProduct(){

    var productname = document.getElementById('productName').value;
    var cost = document.getElementById('cost').value;
    var quantity = document.getElementById('quantity').value;

    tbody += '<tr><td>' + productname + '</td><td>' + cost + '</td><td>' + quantity + '</td><td>' + test + '</td><tr>';

      document.getElementById('tablebody').innerHTML = tbody;

      product();

//adding product to array

 function product(){

        products = new Product(productname, cost, quantity);
}
}

'''

最佳答案

当您调用 product 时,您会覆盖 products - 使用 push - 还将变量传递到 product否则你会得到一个错误:

    product(productname, cost, quantity);

}

function product(productname, cost, quantity) {
    products.push(new Product(productname, cost, quantity));
}

同时用大括号关闭 addProducts 函数:

    document.getElementById('tablebody').innerHTML = tbody;

    product();

}

关于javascript - 每次运行函数时如何将对象添加到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61625154/

相关文章:

javascript - $window.onblur 随机停止工作

javascript - 将 ES6 导入与 CoffeeScript 和 Browserify 结合使用

ruby - 查找数组是否包含另一个数组的任何成员的最快方法?

arrays - 如何使用 swift 用两个不同的数组填充 TableView 中的两个部分?

javascript - 如何将数据从 HTML 表单传输到 JavaScript 函数?

javascript - 当顶部 div 展开时向下移动 div

Javascript - 当数组包含一个对象和一个数组时检查两个数组是否相等

Javascript 根据特定类属性创建对象

javascript - 传递对象与 ID

javascript - 提取 2 个属性值的列表