2012-08-27 40 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; 
}