Javascript 简单变量问题

Javascript 简单变量问题,javascript,Javascript,我正在尝试更改items变量中的变量,但不确定如何更改 var items = [ {name: '#builder', x: 0, y:15}, {name: '#image', x: 0, y:15}, {name: '#button', x: -100, y: -55} ]; //I only want to change builder and image but not button

我正在尝试更改items变量中的变量,但不确定如何更改

var items = [
            {name: '#builder', x: 0, y:15},
            {name: '#image', x: 0, y:15},
            {name: '#button', x: -100, y: -55}

          ];

    //I only want to change builder and image but not button...How to do this?

          if(i>5){
            items = [
            {name: '#builder', x: 50, y:105},
            {name: '#image', x: 110, y:115}            

          ];

          }

谢谢你的帮助。

如果你知道这个职位,那么你可以:

if (i > 5) {
  items[0].x = 50;
  items[0].y = 105;
  items[1].x = 110;
  items[1].y = 115;
}

如果你知道这个职位,那么你可以:

if (i > 5) {
  items[0].x = 50;
  items[0].y = 105;
  items[1].x = 110;
  items[1].y = 115;
}

您考虑过使用对象哈希表吗

var items = {
        '#builder' : { x: 0, y:15},
        '#image': { x: 0, y:15},
        '#button': {x: -100, y: -55}
        };
然后您可以这样更改它们:

items['#builder'].x = 50;
如果这不是一个选项,那很酷,但如果你想按名称查找,这可能是一个更好的方法

除此之外,您还必须循环遍历每个记录,以找到所需的名称并适当地设置值

var items = [
            {name: '#builder', x: 0, y:15},
            {name: '#image', x: 0, y:15},
            {name: '#button', x: -100, y: -55}
          ];

function updateValues(name, x, y) {
    for(var i = 0; i < items.length; i++) {
         var item = items[i];
         if(item.name == name) {
             item.x = x;
             item.y = y;
             return;
         }
    }
}


updateValues('#builder', 50, 105);

您考虑过使用对象哈希表吗

var items = {
        '#builder' : { x: 0, y:15},
        '#image': { x: 0, y:15},
        '#button': {x: -100, y: -55}
        };
然后您可以这样更改它们:

items['#builder'].x = 50;
如果这不是一个选项,那很酷,但如果你想按名称查找,这可能是一个更好的方法

除此之外,您还必须循环遍历每个记录,以找到所需的名称并适当地设置值

var items = [
            {name: '#builder', x: 0, y:15},
            {name: '#image', x: 0, y:15},
            {name: '#button', x: -100, y: -55}
          ];

function updateValues(name, x, y) {
    for(var i = 0; i < items.length; i++) {
         var item = items[i];
         if(item.name == name) {
             item.x = x;
             item.y = y;
             return;
         }
    }
}


updateValues('#builder', 50, 105);