JavaScript - 当这些值相同时,如何使用 print 函数输出存储在数组中的 2 个值?
Posted
技术标签:
【中文标题】JavaScript - 当这些值相同时,如何使用 print 函数输出存储在数组中的 2 个值?【英文标题】:JavaScript - How can I use the print function to output 2 values that are stored in an array when those values are the same? 【发布时间】:2018-04-30 04:38:05 【问题描述】:var students = [
name : "Dave",
track : "Front End Development",
achievement: 158,
points: 14703
,
name : "Jody",
track : "ios Development with swift",
achievement: 133,
points: 16303
,
name : "Dave",
track : "php Development",
achievement: 55,
points: 2023
,
name : "Shawdesh",
track : "Learn Wordpress",
achievement: 40,
points: 1950
,
name : "Liton",
track : "Rails Development",
achievement: 98,
points: 450
]
var student;
var message = [];
var search;
function print(message)
document.getElementById('output').innerhtml = message;
function getStudentReport(student)
var report = "<h3> Student: " + student.name + "</h3>";
report += "<p>Track: "+ student.track + "</p>";
report += "<p>achievement: "+ student.achievement + "</p>";
report += "<p>Points: "+ student.points + "</p>";
return report;
while(true)
search = prompt("Search the student recoards: type a name [Jody] or (type quit to exit.)");
if (search == null || search.toLowerCase() == 'quit')
break;
for (var i = 0; i < students.length; i += 1)
student = students[i];
if (student.name.toLowerCase() === search.toLowerCase())
message.push(getStudentReport(student));
for (var j = 0; j < message.length; j += 1)
document.write(message[j]);
当提示函数运行时,如果我写 #Dave
消息数组存储 2 个值,因为在 #students
数组中,Dave 名称使用了两次。
但是当我通过打印函数打印这个数组时,它只打印最后一个值。但是当我通过 document.write 打印它时,它会打印 2 个值。
所以,现在我的问题是:如何使用 #print
函数打印存储在消息数组中的 2 个值?
【问题讨论】:
你不是在调用print
你是在调用 document.write()
覆盖页面
@SterlingArcher 如果我写 print(message) 它不起作用
您可以在循环开始时清除output
元素的内容,并将print
改为使用document.getElementById('output').innerHTML += message + '<br />';
你在说什么print
函数?您没有在代码中调用任何内容。 (console.log
也许?)。您可以添加输出示例吗?
@TalSkverer 代码中有一个print
函数。 OP 是说,如果他使用它而不是 document.write
,则该元素仅包含为其设置的最后一个值。
【参考方案1】:
当然,它只会添加最后一条消息,因为您使用的情感 =
将覆盖内容,因此使用 +=
将新消息附加到旧内容中,例如:
function print(message)
document.getElementById('output').innerHTML += message;
希望这会有所帮助。
【讨论】:
以上是关于JavaScript - 当这些值相同时,如何使用 print 函数输出存储在数组中的 2 个值?的主要内容,如果未能解决你的问题,请参考以下文章