Javascript 如何创建点阵列?

Javascript 如何创建点阵列?,javascript,Javascript,如何创建包含x、y的点对象并创建其数组? 这样我就可以在这些点上循环,动态地添加/删除点。var points=[{x:45,y:64},{x:56,y:98},{x:23,y:44}]; var points = [{x:45, y:64}, {x:56, y:98}, {x:23, y:44}]; var len = points.length; for(var i = 0; i < len; i++) { alert(points[i].x + ' ' + points[i]

如何创建包含x、y的点对象并创建其数组? 这样我就可以在这些点上循环,动态地添加/删除点。

var points=[{x:45,y:64},{x:56,y:98},{x:23,y:44}];
var points = [{x:45, y:64}, {x:56, y:98}, {x:23, y:44}];
var len = points.length;
for(var i = 0; i < len; i++) {
    alert(points[i].x + ' ' + points[i].y);               
}
​
// to add more points, push an object to the array:
points.push({x:56, y:87});
var len=点。长度; 对于(变量i=0;i
演示:

我建议您阅读一下,了解所有这些。了解基本知识很重要

添加示例:

var points = [];
points.push({x:5, y:3});

可以为点对象创建构造函数,如下所示:

function Point(x, y) {
  this.x = x;
  this.y = y;
}
现在,您可以使用
new
关键字创建点对象:

var p = new Point(4.5, 19.0);
要创建点对象数组,只需创建一个数组,并将点对象放入其中:

var a = [ new Point(1,2), new Point(5,6), new Point(-1,14) ];
或:

您可以使用
操作符访问点对象中的特性。例如:

alert(a[2].x);
或:


更快、更高效:

var points = [ [45,64], [56,98], [23,44] ];
for(var i=0, len=points.length; i<len; i++){
    //put your code here
    console.log( 'x'+points[i][0], 'y'+points[i][1] )
}
// to add more points, push an array to the array:
points.push([100,100]);
var点=[[45,64]、[56,98]、[23,44];

对于(var i=0,len=points.length;iI)我很好奇这是否真的更有效(对于我正在使用的特定项目(试图决定使用什么内部表示法),根据下面的JsPerf结果,似乎对象表示比数组表示更有效:这是8年前的结果,我不知道为什么我复制了最流行的答案。你想测试什么?我只是想指出,尽管你提到了2d arra的数组ys被认为“更快,[而且]更高效”,但事实似乎并非如此(至少在最新版本的Chrome中不是这样)。我正在开发一个高性能的web应用程序,其中我们正在渲染非常大的轮廓数据,我在搜索哪种数据结构将提供最佳性能时遇到了这篇文章(因此进行了JsPerf测试)。
var p = a[2];
alert(p.x + ',' + p.y);
var points = [ [45,64], [56,98], [23,44] ];
for(var i=0, len=points.length; i<len; i++){
    //put your code here
    console.log( 'x'+points[i][0], 'y'+points[i][1] )
}
// to add more points, push an array to the array:
points.push([100,100]);