我正在尝试更改我的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}
];
}
感谢您的帮助。
答案 0 :(得分: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 :(得分:1)
如果您知道这个职位,那么您可以这样做:
if (i > 5) {
items[0].x = 50;
items[0].y = 105;
items[1].x = 110;
items[1].y = 115;
}