javascript - 如何在没有额外键的情况下循环创建数组对象?

标签 javascript jquery for-loop

我正在创建一个没有循环的数组对象,如下所示:

var data = [];
var obj = {};
obj["key1"] = 'val 1';
obj["key2"] = 'val 2';
data.push(obj);

上面的代码生成了 Array[Object],但是当我尝试在如下循环中创建它时:

var data = [];
for (var i = 0; i < len; i++) {
    var obj = {};
    obj["key1"] = 'val 1';
    obj["key2"] = 'val 2';
    data.push(obj);
}

它生成 Array[],在第二个数组中有一个额外的索引。那么我怎样才能得到如下所示的数组:
数组[对象,对象,对象]

最佳答案

如果你想要:-Array[Object,Object,Object] 那么你的代码工作得很好

参见示例:-

var data = [];

var len = 3;
for (var i = 0; i < len; i++) {
    var obj = {}; // put outside
    obj["key1"] = 'val 1';
    obj["key2"] = 'val 2';
    data.push(obj);
}
console.log(data);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

注意:- 我认为 len 变量存在问题,因为of which loop performed one more time and you get an extra index?

检查并尝试像 len = len-1; 这样的东西,然后在循环中使用它

关于javascript - 如何在没有额外键的情况下循环创建数组对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43907517/

相关文章:

javascript - 聚焦在asp.net中的文本框后,如何在css中激活div的功能?

javascript - JavaScript 5 中 for 和 foreach 的区别

For 表达式中的 Java ":"运算符

javascript - 有没有办法在 google-cloud-firestore 的对象数组中搜索具有特定字段的对象

javascript - Postmessage 不适用于动态 Iframe

javascript - 错误 : NS_ERROR_FAILURE in firefox while use getBBox()

javascript - 在 html 中创建 javascript 循环

javascript - FBML 中的外部 JS 使用 - 无法访问外部脚本

javascript - 更改 $scope 不反射(reflect)更新

javascript - PLAX 视差不起作用