javascript - 用对象初始化循环数组

标签 javascript arrays

我想在循环中创建这样的数组

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/

相关文章:

javascript - 使用 Rangy 从数据库恢复多个选择

javascript - Slick Slider 绑定(bind)悬停事件

java - 形状数组列表

c++ - MATLAB代码和C(C++)用IPP代码计算结果的区别

javascript - 为 window.object 实现私有(private)函数

javascript - 将 JSON 对象转换为 html 字符串

c++ - 可以用作固定大小(堆栈)和动态大小(堆)的数组封装器

arrays - 使用自定义规则执行两个数组的并集

javascript - 如何使用 JavaScript 删除数组中字符后的数字和字母

c++ - 在 bool 数组上使用二进制表达式的最快方法