如何创建Points数组?

时间:2010-08-29 07:31:12

标签: javascript

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

4 个答案:

答案 0 :(得分:21)

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});

演示:http://jsfiddle.net/gjHeV/

答案 1 :(得分:11)

您可以为Point对象创建一个构造函数,如下所示:

function Point(x, y) {
  this.x = x;
  this.y = y;
}

现在,您可以使用new关键字创建Point对象:

var p = new Point(4.5, 19.0);

要创建Point对象数组,只需创建一个数组,然后将Point对象放入其中:

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

或者:

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

使用.运算符访问Point对象中的属性。例如:

alert(a[2].x);

或者:

var p = a[2];
alert(p.x + ',' + p.y);

答案 2 :(得分:2)

我建议你阅读JavaScript arrays来了解所有这些。了解基础知识非常重要。

添加示例:

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

答案 3 :(得分:0)

更快,更高效:

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]);

效率只会在很多点上显而易见。