storing coordinates in array in javascript

前端 未结 4 2004
别那么骄傲
别那么骄傲 2021-02-04 07:37

I want to store coordinates into an array in javascript, I am new to javascript and do not have an idea how to do it.

Any help would be appreciated.

相关标签:
4条回答
  • 2021-02-04 07:45

    Well, let's say we make it simple, you want to store coördinates, so we have x and y:

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

    This is how you create Objects in javascript, they act like functions. With this function you can create your coordinates. Then all you need to do is create an array:

    var arr = new Array();
    arr.push(new coordinate(10, 0));
    arr.push(new coordinate(0, 11));
    

    That's it basically

    0 讨论(0)
  • 2021-02-04 07:48

    These answers are not usable if you're trying to store a grid/matrix that you wanted to access data point by x,y values later.

    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
    
    0 讨论(0)
  • 2021-02-04 08:04

    There are a number of ways to store x,y coordinates:

    Option 1 (every other index in an array):

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

    Option 2 (simple object in an array):

    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;
    } 
    
    0 讨论(0)
  • 2021-02-04 08:07

    The push method would do the job:

    var arr = new Array();

    arr.push({ x : x_coordinate, y : y_coordinate });

    You can then access them by using

    arr[0].x (gives the x coordinate)

    and

    arr[0].y (gives the y coordinate).

    Hope it helps.

    0 讨论(0)
提交回复
热议问题