-2

我正在尝试将变量cord1x 和cord1y 放入segments 数组中,但它不起作用。

这是我的代码:

var cord1x = 121; 
var cord1y = 446;  
segments = [{x: cord1x, y: cord1y}];

我如何成为分段字符串中的变量?

4

3 回答 3

1

根据您的评论,也许Array#push是您想要的:

segments = [];

//foreach point in some set
  // compute cord1x, cord1y
  segments.push({x: cord1x, y: cord1y});

然后segment变成一个对象数组,每个对象代表一个 2d 点,与您的示例一致segments = [{x: 121, y: 446}, {x: 164, y: 384}, {x: 190, y: 271}, {x: 186, y:198}, {x: 180, y:60}]


仅基于问题:

随着segments = [{x: cord1x, y: cord1y}];,segments成为一个包含一个匿名对象的数组。cord1x变得可访问 assegments[0].x并且cord2x变得可访问 as segments[0].y

随着segments = {x: cord1x, y: cord1y},segments成为具有 和 属性的x对象ycord1变得可访问 assegments.x并且cord2变得可访问 as segments.y

随着segments = [cord1x, cord1y],segments成为两个整数的数组。cord1x变得可访问 assegments[0]并且cord1y变得可访问 as segments[1]

segments = '{x: '+cord1x+', y: '+cord1y+'}',segments变成 形式的字符串{x:121, y:446}。不利的一面是,cord1x并且cord1y不容易检索。好处是segments现在可以通过使用来比较相等性,而不是身份===

于 2013-03-22T15:41:46.563 回答
0

为此,您将使用 javascript 中的 push 方法。

var coordinate1 = Coordinates.getCoordinate(100, 200);
var coordinate2 = Coordinates.getCoordinate(200, 300);
var coordinate3 = Coordinates.getCoordinate(300, 400);
var coordinates = [coordinate1, coordinate2];
coordinates.push(coordinate3)

您可以在 w3 学校了解更多信息http://www.w3schools.com/jsref/jsref_push.asp

于 2013-03-22T15:40:51.613 回答
0

这可能会奏效。

var Coordinates = function() {};

Coordinates.onLoad = function() {
    var coordinate1 = Coordinates.getCoordinate(100, 200);
    var coordinate2 = Coordinates.getCoordinate(200, 300);
    // access them like coordinate1.x, coordinate1.y 
};

Coordinates.getCoordinate = function(x, y) {
    var coordinate = {
        x: x,
    y: y
    };
    return coordinate;
};
于 2013-03-22T15:50:14.243 回答