const demo = document.querySelector('.demo');
const persons = [
{name: "Abhishek", age: 20, weight: "52kg"},
{name: "Akash", age: 21, weight: "70kg"},
{name: "Ankit", age: 20, weight: "68kg"},
{name: "Shubham", age: 19, weight: "60kg"},
{name: "Harsh", age: 19, weight: "80kg"},
];
persons.forEach(function(person) {
const data = JSON.stringify(person);
demo.innerHTML = data;
})<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="./style/style.css" rel="stylesheet">
<title>Document</title>
</head>
<body>
<h1>Learning Javascript</h1>
<div class="demo"></div>
<script src="main.js"></script>
</body>
</html>
我编写这段代码是为了显示数组中的所有对象,但只有最后一个对象是可见的。我使用JSON.stringify()将对象转换为字符串。解释一下这个缺陷背后的原因。
发布于 2020-09-26 06:32:27
问题在于以下几行:
demo.innerHTML = data;把它换成下面的东西,你就会看到一切。
demo.innerHTML += "\n" + data;您正在使用forEach循环,然后使用=,替换demo中的前一个值。你应该把值连接起来。
https://stackoverflow.com/questions/64074567
复制相似问题