сохранение координат в массиве в javascript
Я хочу сохранить координаты в массив в javascript, Я новичок в javascript и не знаю, как это сделать.
любая помощь будет оценили.
4 ответов
существует несколько способов хранения координат x,y:
Вариант 1 (каждый другой индекс в массиве):
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];
}
Вариант 2 (простой объект в массив):
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;
}
Ну, допустим, мы сделаем это просто, вы хотите хранить координаты, поэтому у нас есть 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));
это в основном
эти ответы не используются,если вы пытаетесь сохранить сетку/матрицу, к которой вы хотели получить доступ к точке данных по значениям 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
метод push выполнит эту работу:
var arr = новый массив ();
arr.push ({x: x_coordinate, y: y_coordinate });
вы можете получить к ним доступ с помощью
arr[0].x
(дает координату x)
и
arr[0].y
(дает координату y).
надеюсь, что это помогает.