javascript - 在循环内映射数组

标签 javascript arrays loops for-loop while-loop

我需要在循环内分配一个对象。 这是我的代码:


let dataObj = {}
let dataArr = []
 ,    temp = []

while ( i < file.length ) {
  array[i].forEach(item => temp.push(item))

  dataObj.name = temp[0]
  dataObj.nim = temp[1]

  dataArr.push(dataObj)

  temp = []
  i++
}

预期输出:

//dataArr = [{name: panji, nim: 123}, {name: gifary, nim: 234}]

现实:

//dataArr = [{name: gifary, nim: 234}, {name: gifary, nim: 234}]

我不知道怎样才能正确地做到这一点。有人知道路吗?

感谢您的帮助!

最佳答案

dataObj 是对同一对象的引用。您可以在不使用变量的情况下完成此操作:

  dataArr.push({
     name: temp[0],
     nim : temp[1]
  })

关于javascript - 在循环内映射数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57337923/

相关文章:

arrays - 创建 GLSL 制服数组?

c# - JSON 反序列化 - 使用 JSON.NET 将数组索引映射到属性

java - 拼字游戏类型

javascript - 指定时间的循环功能,然后是延迟

javascript - 使用 php 脚本创建的 AJAX 返回文件

javascript - 带有按钮+工具提示的错误 "pull-effect"

python - numpy 计算的输入/输出验证/转换

C 重置 FOR 循环中的数据计数器

javascript - Angular 过滤器中具有多个属性的 GroupBy

javascript - 我想在我的选择标签中显示选择性别作为占位符