Javascript 将对象存储在数组中

标签 javascript arrays

function(data) {
    var lob = new LOBslist(); //new object
    var returnLOB = []; //array init
    for (var i1r= 0; i1r < data.length; i1r++) { 
        var cLob = data[i1r];
        lob.name = cLob.name;
        lob.id = cLob.id;

        returnLOB.push(lob); //adding to array?
        console.log(lob); //right here
  }

  console.log(returnLOB);
  return returnLOB;
}

数据的格式如下

{"name":"RYI","id":2,"name":"BIB","id":1}

我想访问上述数据,将每个名称和ID存储在一个名为lob的对象中并将每个对象存储在数组 returnLOB 中.

每次我循环遍历和 console.log(lob) ,我得到正确的对象,例如:RYI id:2BIB id:1 然后

但是当我尝试将它们存储在 returnLOB 中时array 它输出第二个对象两次,而不是每个对象一次。

知道这里出了什么问题吗?

最佳答案

function(data) {
        var returnLOB = []; //array init
        for (var i1r= 0; i1r < data.length; i1r++) { 
                var lob = new LOBslist(); //new object
                var cLob = data[i1r];
                lob.name = cLob.name;
                lob.id = cLob.id;

                returnLOB.push(lob); //adding to array?
                console.log(lob); //right here

        }

        console.log(returnLOB);
        return returnLOB;

    }

将 lob 的声明移至循环中。现在,您正在重复使用同一个对象并将其多次添加到数组中。每次循环时都会更新相同的对象。

关于Javascript 将对象存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23637849/

相关文章:

javascript - 成绩计算器 JavaScript 未运行

javascript - 单个页面中的两个表单,并使用 Codeigniter 使用 Bootstrap 模式

javascript - Chartjs 上的图例出现问题

JavaScript 正则表达式 : how matches can share the same keyword?

Javascript - 使用 if 语句更改数组值

javascript - 从 ElementFinder 数组创建 ElementArrayFinder

arrays - 来自一维数组的唯一值,无需迭代

java - 显示一定数量的素数

java - 如何将数组从 java android Activity 类传递到普通 java 类?

java - 如何返回包含 10 个随机整数的数组中的最大整数?