1

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}            

          ];

          }

助けてくれてありがとう。

4

2 に答える 2

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);
于 2012-08-27T15:12:16.017 に答える
1

位置がわかっている場合は、次のことができます。

if (i > 5) {
  items[0].x = 50;
  items[0].y = 105;
  items[1].x = 110;
  items[1].y = 115;
}
于 2012-08-27T15:09:23.787 に答える