简单的变量问题

Simple variable issue

本文关键字:问题 变量 简单      更新时间:2023-09-26

我正在尝试更改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}            
          ];
          }

谢谢你的帮助。

您是否考虑过使用对象哈希表?

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

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

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