我想在循环中创建这样的数组
dataset: [
{
x: 0,
y: 0,
},
{
x: 1,
y: 0.993,
}
]
但是这种方式是不正确的。
var array = new Array(10);
for (var i = 0; i < 5; ++i) {
array[i].x = 1;
array[i].y = 2;
}
如何以正确的方式初始化?
最佳答案
SLAks 和skint 的评论是正确的,因此这个答案更多地解释了为什么您的代码没有像您想象的那样工作,以及您可以做什么的示例。
您创建了一个可容纳 10 个事物的数组,但您没有指定这些事物是什么,因此数组中不包含任何内容。
var array = new Array(10);
你可以像这样可视化你的数组: 数组 = [未定义,未定义,未定义,未定义,...
您创建的数组只是一个容器,其中包含尚未定义的 10 个事物。当您尝试分配数组元素的“x”和“y”属性时,您正在尝试对不存在的东西进行操作。为了获得您想要的,我建议创建一个具有您想要的属性和初始值的对象,然后使用循环添加您想要的元素数量。
var array = [];
var arrayObject = {x:0,y:0};
for(i=0; i < 10; i++){
array.push(arrayObject);
}
关于javascript - 用对象初始化循环数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37487468/