使用JavaScript数组打印对象属性

时间:2015-07-10 19:02:45

标签: javascript arrays object for-loop alert

这是我的代码,我试图打印工人和士兵物品的价格属性



var army = [worker, soldier];

var worker={
	name:'Worker',
	price : 10,
	ammount : 0,
	award:0,
	//award : 5/11,
	time : 1000,
	defense: 10,
	attack: 5
}

var soldier={
	name:'Soldier',
	price : 50,
	ammount : 0,
	award:0,
	//award : 0.75,
	time : 1000,
	defense: 30,
	attack: 15
}

for (var i=0; i<army.length; i++){
	alert(this.price);
}
&#13;
&#13;
&#13;

您是否知道如何进入这些物品的价格属性?

2 个答案:

答案 0 :(得分:1)

在初始化对象之前,您正在将未定义的变量分配给军队阵列。将第一行移到工人和士兵之后。

此外,for循环中的变量this不会引用任何内容。请改为使用army[i],或者您可以指定var this = army[i];

&#13;
&#13;
var worker = {
  name: 'Worker',
  price: 10,
  ammount: 0,
  award: 0,
  //award : 5/11,
  time: 1000,
  defense: 10,
  attack: 5
}

var soldier = {
  name: 'Soldier',
  price: 50,
  ammount: 0,
  award: 0,
  //award : 0.75,
  time: 1000,
  defense: 30,
  attack: 15
}

var army = [worker, soldier];

for (var i = 0; i < army.length; i++) {
  alert(army[i].price);
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

在创建其他数组后定义army数组

var army = [worker, soldier];

然后使用army[i]从每个对象中获取价格:

for (var i=0; i<army.length; i++){
    alert(army[i].price);
}