将新对象添加到数组

Posted

技术标签:

【中文标题】将新对象添加到数组【英文标题】:Add new object to array 【发布时间】:2016-01-14 12:23:26 【问题描述】:

我正在努力将新对象推送到数组中。目前,下面的代码似乎只是覆盖了一个对象。我可以通过控制台看到要推送到数组的数据,但它只是不存储新对象。有什么想法吗?

fs.readFile('check.json', function (err, check) 
    if (err) throw err;
    var newData = JSON.parse(check);

    var tempData =[];
    for (var index=0; index<newData.length; index++)
        tempData.push(newData);
        
    tempData = newData;
);

【问题讨论】:

您将最后一个元素分配给最后的数组吗? tempData = newData; 您正在覆盖tempData 数组,方法是在最后一行使用newData 对其进行分配 【参考方案1】:

迭代数组然后将对象推送给它们的典型方法是这样的

var tempData =[];
for (var index=0; index<newData.length; index++)
    tempData.push(newData[index]);
    //                     ^add index

//tempData = newData; remove assignment which overwrites array

【讨论】:

谢谢。您能否提供有关如何使用 fs 进行外部推动的任何见解?外部 json 以未定义的形式返回。特拉维斯 J

以上是关于将新对象添加到数组的主要内容,如果未能解决你的问题,请参考以下文章

检查对象值是不是存在于 Javascript 对象数组中,如果不存在则将新对象添加到数组

为啥使用 MongoDB 的 $push 将新对象添加到数组时添加了带有 ObjectID 的 _id?

React Js,将新对象添加到数组中[重复]

将新属性添加到另一个数组中的现有对象数组

C++ 将新的类对象添加到数组中的新位置

如何使用 map() 或 foreach() 将新对象添加到现有的 useState 数组?