javascript - 您不能将对象添加到表中

标签 javascript php node.js

大家晚上好

作为 Javascript 培训的一部分,我必须展示一个项目。在开发过程中,我浏览了一个对象数组,其中包含 SQL 选择查询的所有行。然后 在表的每个元素上使用循环,然后在每个键上使用循环来填充 fure 并测量我的对象 infDb

直到所有都正确后才处理第二个元素。我将对象 infDb 推送到表 infVal2

所以,问题是在第二次压入之后,添加会影响整个数组的对象的最后一个值。

我有一个空表:

var infVal2 = []

还有一个对象:

var infDb = {
        "Name": "",
        "Qte": 0,
        "Marque": "",
        "Surv": 0,
        "Checked": false
    };

function loadData(data) {
    var infDb = {
        "Name": "",
        "Qte": 0,
        "Marque": "",
        "Surv": 0,
        "Checked": false
    };

    return new Promise((resolve) => {
        var obj = data;
        // lors de la appel all, on boucle sur obj  qi est le tableau d'objet complet de la base

        obj.forEach((element, index) => {
            console.log("index :" + index + "-- element:" + element.Name);
            for (cle in element) {
                console.log("cle :" + cle + "-- element:" + element[cle]);
                if (cle === "Name") {
                    infDb.Name = element[cle];
                }
                if (cle === "Qte") {
                    infDb.Qte = element[cle];
                }
                if (cle === "Marque") {
                    infDb.Marque = element[cle];
                }
                if (cle === "Surv") {
                    infDb.Surv = element[cle];
                }
                if (cle === "Checked") {
                    infDb.Checked = element[cle];
                }
            }
            console.log("valeur :" + infDb.Name);
            infVal2.push(infDb);
        })
        return resolve();
    });

}

我先直接做了控制台测试:

  • 通过从循环中添加一个简单的值在一个简单的表上 ====> 它有效
  • 总是来自一个循环,但是通过添加一个对象 ====> 它不再起作用了

感谢您的帮助。

最佳答案

对象通过引用传递。这意味着,对象数组中的每个对象都指向同一个对象。当同一个对象被修改时,所有引用它的对象也会被修改。

您可以使用 new Object关键字或 Object.assign方法

关于javascript - 您不能将对象添加到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56899541/

相关文章:

javascript - 需要替换输入数字

javascript - Shopify 选项选择器不更改价格

php - 从数据库中提取数组以用作复选框

node.js - 没有传递 Sequelize 实例

javascript - D3.js:数据已经绑定(bind)时如何追加元素?

javascript 并使用 php 调节

Php字符串根据字符与字符串条件匹配来分解字符串

php - 找不到 Prestashop 1.7 模块目录数据

javascript - 如何将 Express Router 拆分为单独的文件?

使用node/express的req.body中的html multipart/form-data错误