代码之家  ›  专栏  ›  技术社区  ›  Shajal Kumer

JavaScript-当存储在一个数组中的两个值相同时,如何使用print函数输出这些值?

  •  1
  • Shajal Kumer  · 技术社区  · 7 年前
    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名称使用了两次数组。

    但当我用print函数打印这个数组时,它只打印最后一个值。但当我按文档打印时。写入打印2值。

    所以,现在我的问题是:如何使用 #print 作用

    1 回复  |  直到 7 年前
        1
  •  0
  •   Zakaria Acharki    7 年前

    当然,它只会添加最后一条消息,因为你正在使用情感 = 这将覆盖内容,而不是使用 += 要将新消息附加到旧内容,请执行以下操作:

    function print(message) {
        document.getElementById('output').innerHTML += message;
    }
    

    希望这有帮助。