在javascript中访问对象数组中的所有值

在javascript中访问对象数组中的所有值,javascript,Javascript,我试图访问对象数组中的所有值。 我的数据结构如下: var data = [ obj{ x: 1, y: 2 }, obj{ x:3, y:9 } ] 我想一次得到每个x的值 我尝试使用for循环,然后将值分配给全局变量,如下所示: var var startValue; var startYValue; var startXValue; var endYValue; var endXValue; var endValue; for (var i

我试图访问对象数组中的所有值。 我的数据结构如下:

var data = [
  obj{
    x: 1,
    y: 2
  },
  obj{
    x:3,
    y:9
  }
]
我想一次得到每个x的值

我尝试使用for循环,然后将值分配给全局变量,如下所示:

var var startValue;
var startYValue;
var startXValue;
var endYValue;
var endXValue;
var endValue;
for (var i = 0; i < data.length; i++) {
  endYValue = data[i].endY;
  endXValue = data[i].endX;
  endValue = { x:endYValue, y:endXValue }
  startYValue = data[i].startY;
  startXValue = data[i].startX;
  startValue = { x:data[i].startY, y:data[i].startX }
  console.log(endValue.x)
    }

  console.log(endValue.x)
var起始值;
var起始值;
var起始值;
var endYValue;
var endXValue;
var终值;
对于(变量i=0;i
我发现第一个console.log(endValue.x)起作用了,但是当我全局查看console.log(endValue.x)时,它只显示最后一个x值,而不是所有的x值


任何帮助都将不胜感激

您的数据数组应该只是每个项目的对象,然后我们可以循环并将每个道具分配给另一个数组:

var data = [{x:1, y:2}, {x:3,y:9}];
var arr = [];

// get values of every x at once.
for (var i=0; i<data.length; i++) arr.push(data[i].x);
console.log(arr); // [1, 3]
var data=[{x:1,y:2},{x:3,y:9}];
var-arr=[];
//一次获取每个x的值。

对于(var i=0;i而言,
运算符中存在循环的

var data = [{x:10, y: 20}, {x: 30, y: 40}];
for (var i in data) {
    var obj = data[i];

    if (!obj)
        continue;

    console.log(obj.x);
    console.log(obj.y);
}
要访问第一个对象:
vas startValue=data[0];

要访问最后一个对象:
vas startValue=data[data.length-1];

要循环遍历数组并查找最小/最大x/y值,请执行以下操作:

var upperLeft = {x: data[0].x, y: data[0].y};
var bottomRight = {x: data[0].x, y: data[0].y};

for (var i in data) {
    var obj = data[i];

    if (!obj)
        continue;

    if (obj.x < upperLeft.x)
        upperLeft.x = obj.x;

    if (obj.y < upperLeft.y)
        upperLeft.y = obj.y;

    if (obj.x > bottomRight.x)
        bottomRight.x = obj.x;

    if (obj.y > bottomRight.y)
        bottomRight.y = obj.y;

}

console.log(JSON.stringify(upperLeft));
console.log(JSON.stringify(bottomRight));
var upperLeft={x:data[0].x,y:data[0].y};
var bottomRight={x:data[0].x,y:data[0].y};
用于(数据中的var i){
var obj=数据[i];
如果(!obj)
继续;
如果(对象x<左上角x)
左上角x=对象x;
如果(对象y<左上角y)
左上角y=对象y;
如果(对象x>右下角x)
右下角.x=obj.x;
如果(对象y>右下角y)
右下角y=对象y;
}
log(JSON.stringify(左上));
log(JSON.stringify(右下角));
请参见此处的答案: