2012-08-27 39 views
1

我想改变我的变量在我的项目变量,不知道如何去做。简单变量问题

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}    

      ]; 

      } 

感谢您的帮助。

回答

3

你有没有考虑使用对象的哈希表呢?

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); 
1

如果您知道的位置,那么你可以做:

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