javascript - Array.Push 仅返回最后推送的对象。如何解决?

标签 javascript jquery arrays ajax asp.net-mvc

我知道这个问题可能重复,但其他答案都不适合我.. 我正在尝试将数组中的数据表 valueS 发送到 Controller 。但是,array.push() 只返回最后一个对象。

<script> 
  var dd = table.rows().data().toArray();
  var data1 = new Array();
  var CData= {};

 for (i = 0; i < dd.length; i++) {
  CData.Date = dd[i][1];
  CData.Description = dd[i][2];
  data1.push(CData);
}
 $.ajax({
type: "POST",
url: "/Test/Create",
contentType: "application/json;",
headers: { 'RequestVerificationToken': gettoken() },
data: JSON.stringify(data1:data1),
success: function () {
 alert('success');
},
error: function () {
   alert('failure');
}
 });
</script>

如何解决?

最佳答案

这是因为您总是在修改同一个对象,而不是为 dd 的每次迭代创建一个单独的对象。

您应该在循环中创建一个新对象以避免每次都覆盖同一个对象:

 for (i = 0; i < dd.length; i++) {
  var CData= {}; // now new object each time
  CData.Date = dd[i][1];
  CData.Description = dd[i][2];
  data1.push(CData);
}

关于javascript - Array.Push 仅返回最后推送的对象。如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57804920/

相关文章:

javascript - 替换两个方向的变音符号

javascript - 当我使用 ID 时,div 显示变为隐藏

javascript - IE8 中的无效参数

c - 如何解决此崩溃的 C 代码问题?

javascript - 添加到数组兄弟

javascript - JS/jQuery : Copying Contents of td to clipboard

javascript - 如何理解ECMA-262 5.1版中的条款10.5?

javascript - 从 Node 路由中的json访问数组中的对象值

jquery - 对于 ASP.NET MVC 中的所有用例,JSON 是否都比部分 View 更好?

arrays - 如何将文件夹中的图像添加到我的 swift 代码中?