Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript forEach循环对象并使用document.write()打印;_Javascript_Object_Foreach_Document.write - Fatal编程技术网

Javascript forEach循环对象并使用document.write()打印;

Javascript forEach循环对象并使用document.write()打印;,javascript,object,foreach,document.write,Javascript,Object,Foreach,Document.write,有一个数组,由我需要循环通过的几个对象组成(最好使用forEach循环,这是本练习的范围)。我需要在屏幕上打印它们的详细信息(不能只在控制台上看到它们,这会更简单),理想情况下,我需要有工具用CSS格式化它们 使用一个实用的forEach循环(见下面的try-1),我可以更接近于打印一个完整的[object-object]对序列,而不能更深一层地检索数据 我已经设法打印了每个对象的详细信息(try-2),但只是通过手动调用的每个属性的繁琐列表 有没有一种方法可以循环遍历对象,以有序的方式检索其数

有一个数组,由我需要循环通过的几个对象组成(最好使用forEach循环,这是本练习的范围)。我需要在屏幕上打印它们的详细信息(不能只在控制台上看到它们,这会更简单),理想情况下,我需要有工具用CSS格式化它们

使用一个实用的forEach循环(见下面的try-1),我可以更接近于打印一个完整的[object-object]对序列,而不能更深一层地检索数据

我已经设法打印了每个对象的详细信息(try-2),但只是通过手动调用的每个属性的繁琐列表

有没有一种方法可以循环遍历对象,以有序的方式检索其数据并在屏幕上打印?提前谢谢

var bulbasaur = { name: "Bulbasaur", height: 0.7, weight: 6.9, hatchSteps: 5100, types: ["Grass", " Poison"], eggGroups: ["Monster", " Grass"], abilities: ["Chlorophyll", " Overgrow"]};

var ivysaur = { name: "Ivysaur", height: 1, weight: 13, hatchSteps: 5100, types: ["Grass", " Poison"], eggGroups: ["Monster", " Grass"], abilities: ["Chlorophyll", " Overgrow"]};

var venusaur = { name: "Venusaur", height: 2, weight: 100, hatchSteps: 5100, types: ["Grass", " Poison"], eggGroups: ["Monster", " Grass"], abilities: ["Chlorophyll", " Overgrow"]};

var charmander = { name: "Charmander", height: 0.6, weight: 8.5, hatchSteps: 5100, types: ["Fire"], eggGroups: ["Monster", " Dragon"], abilities: ["Blaze", " Solar-power"]};

var charmeleon = { name: "Charmeleon", height: 1.1, weight: 19, hatchSteps: 5100, types: ["Fire"], eggGroups: ["Monster", " Dragon"], abilities: ["Blaze", " Solar-power"]};

var charizard = { name: "Charizard", height: 1.7, weight: 90.5, hatchSteps: 5100, types: ["Fire", " Flying"], eggGroups: ["Monster", " Dragon"], abilities: ["Blaze", " Solar-power"]};

var squirtle = { name: "Squirtle", height: 0.5, weight: 9, hatchSteps: 5100, types: ["Water"], eggGroups: ["Monster", " Water 1"], abilities: ["Rain-dish", " Torrent"]};

var wartortle = { name: "Wartortle", height: 1, weight: 22.5, hatchSteps: 5100, types: ["Water"], eggGroups: ["Monster", " Water 1"], abilities: ["Rain-dish", " Torrent"]};

var repository = [
  bulbasaur,
  ivysaur,
  venusaur,
  charmander,
  charmeleon,
  charizard,
  squirtle,
  wartortle
];


(try-1)

const keys = Object.entries(repository)

keys.forEach(function(item, key) {
  document.write(repository[key] + '<br>');
  document.write(item);
});```

try-2
```repository.forEach(function(pokemon){
  document.write('<p class="pokeTitle">' + pokemon.name + '</p>' +
                 'Height: ' + pokemon.height + '<br>' +
                 'Weight: ' + pokemon.weight + '<br>' +
                 'Hatch Steps: ' + pokemon.hatchSteps + '<br>' +
                 'Types: ' + pokemon.types + '<br>' +
                 'Egg Groups: ' + pokemon.eggGroups + '<br>' +
                 'Abilities: ' + pokemon.abilities + '<br>');
});```

(results using try-1)
[object Object]
0,[object Object][object Object]
1,[object Object][object Object]
2,[object Object][object Object]
3,[object Object][object Object]
4,[object Object][object Object]
5,[object Object][object Object]
6,[object Object][object Object]
7,[object Object]

(results using try-2)
Bulbasaur

Height: 0.7
Weight: 6.9
Hatch Steps: 5100
Types: Grass,Poison
Egg Groups: Monster,Grass
Abilities: Chlorophyll, Overgrow
(+other 7 pokemon items)
var bulbasaur={name:“bulbasaur”,身高:0.7,体重:6.9,帽阶:5100,类型:[“草”,“毒”],蛋群:[“怪物”,“草”],能力:[“叶绿素”,“过度生长”];
var ivysaur={name:“ivysaur”,身高:1,体重:13,孵化步骤:5100,类型:[“草”,“毒”],蛋群:[“怪物”,“草”],能力:[“叶绿素”,“过度生长”];
var venusaur={name:“venusaur”,身高:2,体重:100,帽阶:5100,类型:[“草”,“毒”],蛋群:[“怪物”,“草”],能力:[“叶绿素”,“过度生长”];
var charmander={name:“charmander”,身高:0.6,体重:8.5,帽阶:5100,类型:[“火”],蛋组:[“怪物”,“龙”],能力:[“火焰”,“太阳能”];
var charmeleon={名称:“charmeleon”,身高:1.1,体重:19,帽阶:5100,类型:[“火”],蛋群:[“怪物”,“龙”],能力:[“火焰”,“太阳能”];
var charizard={姓名:“charizard”,身高:1.7,体重:90.5,帽阶:5100,类型:[“火”,“飞”],蛋组:[“怪物”,“龙”],能力:[“火焰”,“太阳能”];
var squirtle={name:“squirtle”,身高:0.5,体重:9,帽步:5100,类型:[“水”],蛋群:[“怪物”,“水1”],能力:[“雨盘”,“激流”];
var wartortle={name:“wartortle”,身高:1,体重:22.5,帽步:5100,类型:[“水”],蛋类:[“怪物”,“水1”],能力:[“雨盘”,“激流”];
var存储库=[
布尔巴苏尔,
艾维索,
维努索,
查曼德,
查梅利恩,
查里扎德,
斯奎特尔,
瓦托特尔
];
(try-1)
常量键=Object.entries(存储库)
键。forEach(功能(项,键){
document.write(存储库[键]+“
”); 文件。书写(项目); });``` try-2 ```forEach(函数(口袋妖怪){ document.write(“

”+pokemon.name+”

'+ '高度:'+pokemon.Height+'
'+ '重量:'+pokemon.Weight+'
'+ '图案填充步骤:'+pokemon.hatchSteps+'
'+ '类型:'+pokemon.Types+'
'+ '鸡蛋组:'+pokemon.eggggroups+'
'+ '能力:'+pokemon.Abilities+'
'); });``` (使用try-1的结果) [对象] 0、[对象对象][对象对象] 1、[对象对象][对象对象] 2、[对象对象][对象对象] 3、[对象对象][对象对象对象] 4、[对象对象][对象对象对象] 5、[对象对象][对象对象] 6、[对象对象][对象对象对象] 7、[对象] (使用try-2的结果) 布尔巴苏尔 身高:0.7 体重:6.9 舱口台阶:5100 种类:草、毒 蛋群:怪物、草 能力:叶绿素,过度生长 (+其他7件口袋妖怪物品)
查看实际数据的快速方法是使用
JSON.stringify
将数据转换为字符串

var bulbasaur={name:“bulbasaur”,身高:0.7,体重:6.9,帽阶:5100,类型:[“草”,“毒”],蛋群:[“怪物”,“草”],能力:[“叶绿素”,“过度生长”];
var ivysaur={name:“ivysaur”,身高:1,体重:13,孵化步骤:5100,类型:[“草”,“毒”],蛋群:[“怪物”,“草”],能力:[“叶绿素”,“过度生长”];
var venusaur={name:“venusaur”,身高:2,体重:100,帽阶:5100,类型:[“草”,“毒”],蛋群:[“怪物”,“草”],能力:[“叶绿素”,“过度生长”];
var charmander={name:“charmander”,身高:0.6,体重:8.5,帽阶:5100,类型:[“火”],蛋组:[“怪物”,“龙”],能力:[“火焰”,“太阳能”];
var charmeleon={名称:“charmeleon”,身高:1.1,体重:19,帽阶:5100,类型:[“火”],蛋群:[“怪物”,“龙”],能力:[“火焰”,“太阳能”];
var charizard={姓名:“charizard”,身高:1.7,体重:90.5,帽阶:5100,类型:[“火”,“飞”],蛋组:[“怪物”,“龙”],能力:[“火焰”,“太阳能”];
var squirtle={name:“squirtle”,身高:0.5,体重:9,帽步:5100,类型:[“水”],蛋群:[“怪物”,“水1”],能力:[“雨盘”,“激流”];
var wartortle={name:“wartortle”,身高:1,体重:22.5,帽步:5100,类型:[“水”],蛋类:[“怪物”,“水1”],能力:[“雨盘”,“激流”];
var存储库=[
布尔巴苏尔,
艾维索,
维努索,
查曼德,
查梅利恩,
查里扎德,
斯奎特尔,
瓦托特尔
];
document.querySelector(“#repository”).textContent=JSON.stringify(repository,null,2)

尝试
document.write(JSON.stringify(item,null,2);
花了一些时间来回答,因为我想确定没有其他更好的方法来解决这个问题。我相信stringify是这里最好的选择。谢谢!