我想用javascript将坐标存储到数组中, 我是javascript的新手,并且不知道该怎么做。
任何帮助都将不胜感激。
答案 0 :(得分:17)
有多种方法可以存储x,y坐标:
function storeCoordinate(x, y, array) {
array.push(x);
array.push(y);
}
var coords = [];
storeCoordinate(3, 5, coords);
storeCoordinate(19, 1000, coords);
storeCoordinate(-300, 4578, coords);
coords[0] == 3 // x value (even indexes)
coords[1] == 5 // y value (odd indexes)
// to loop through coordinate values
for (var i = 0; i < coords.length; i+=2) {
var x = coords[i];
var y = coords[i+1];
}
function storeCoordinate(xVal, yVal, array) {
array.push({x: xVal, y: yVal});
}
var coords = [];
storeCoordinate(3, 5, coords);
storeCoordinate(19, 1000, coords);
storeCoordinate(-300, 4578, coords);
coords[0].x == 3 // x value
coords[0].y == 5 // y value
// to loop through coordinate values
for (var i = 0; i < coords.length; i++) {
var x = coords[i].x;
var y = coords[i].y;
}
答案 1 :(得分:5)
嗯,让我们说我们简单,你想存储coördinates,所以我们有x和y:
function coordinate(x, y) {
this.x = x;
this.y = y;
}
这是你在javascript中创建对象的方式,它们就像函数一样。使用此功能,您可以创建坐标。然后你需要做的就是创建一个数组:
var arr = new Array();
arr.push(new coordinate(10, 0));
arr.push(new coordinate(0, 11));
基本上就是
答案 2 :(得分:1)
如果您尝试存储想要稍后通过x,y值访问数据点的网格/矩阵,则这些答案不可用。
var coords = [];
for(y=0; y < rows; y++){
for(x=0;x<cols; x++){
if(typeof coords[x] == 'undefined']){
coords[x] = [];
}
coords[x][y] = someValue;
}
}
//accessible via coords[x][y] later
答案 3 :(得分:0)
push方法可以胜任:
var arr = new Array();
arr.push({x:x_coordinate,y:y_coordinate});
然后,您可以使用
访问它们 arr[0].x
(给出x坐标)
和
arr[0].y
(给出y坐标)。
希望它有所帮助。