Javascript array showing duplicate values

Asked

Viewed 79 times

0

I’m making a very basic registration code in Javascript.

However, after I register my data and save inside the vector and show them, the data comes out duplicated.

If I type Code: 1 Name: 1 and Author 1, it shows 3 times the code, 3 times the name and 3 times the author.

<script type="text/javascript">
    function Livro () {
    this.codigo;
    this.nome;
    this.autor;
    this.editora;
    this.ano;
    this.ediçao;
    this.getCodigo = function () {
      return this.codigo;
      }
    this.getNome = function () {
     return this.nome;
    }
    this.getAutor = function () {
     return this.autor;
    }
    this.getEditora = function(){
     return this.editora;
    }
    this.getAno = function(){
        return this.ano;
    }
    this.getEdiçao = function(){
        return this.ediçao;
    }
}

    var vlivros = new Array ();
    alert("Bem vindo ao sistema de cadastro de Livraria\nDigite 1 para cadastrar livros\nDigite 2 para cadastrar clientes\nDigite 3 para cadastrar funcionários");
    var opçao=prompt(" Digite a opção que deseja realizar :D ")

    switch(opçao){
        case '1':
            var resposta="sim";
            while (resposta == "sim") {
            var livroc = new Livro();
            livroc.codigo=prompt("Digite o codigo do livro: ");
            vlivros.push(livroc);
            livroc.nome=prompt("Digite o nome do livro: ");
            vlivros.push(livroc);
            livroc.autor=prompt("Digite o nome do autor do livro: ");
            vlivros.push(livroc);
            livroc.editora=prompt("Digite o nome da Editora do Livro: ");
            vlivros.push(livroc);
            livroc.ano=prompt("Digite o ano do livro: ");
            vlivros.push(livroc);
            livroc.ediçao=prompt("Digite a edição do livro ");
            vlivros.push(livroc);
            resposta=prompt("Deseja continuar cadastrando?");
    }
        break
    }
    document.write("Relatório dos Livros(s) Cadastrado(s)");
    document.write("<br/>");
    for(var i=0; i < vlivros.size; i++ ){
        document.write("Codigo do livro: " + vlivros[i].getCodigo());
        document.write("<br/>");
        document.write("Nome do livro: " + vlivros[i].getNome());
        document.write("<br/>");
        document.write("Nome do autor do livro: " + vlivros[i].getAutor());
        document.write("<br/>");
        document.write("Nome da Editora do livro: " + vlivros[i].getEditora());
        document.write("<br/>");
        document.write("Ano do livro: " + vlivros[i].getAno());
        document.write("<br/>");
        document.write("Edição do livro: " + vlivros[i].getEdiçao());
        document.write("<br/>");
    }

</script>

1 answer

1

no need to repeat the push()

<script>

function Livro () { 
    this.codigo; 
    this.nome; 
    this.autor; 
    this.editora; 
    this.ano; 
    this.ediçao; 
    this.getCodigo = function () { 
      return this.codigo; 
    } 
    this.getNome = function () { 
      return this.nome; 
    } 
    this.getAutor = function () { 
      return this.autor; 
    } 
    this.getEditora = function(){ 
      return this.editora; 
    } 
    this.getAno = function(){ 
      return this.ano; 
    } 
    this.getEdiçao = function(){ 
      return this.ediçao; 
    } 
}
var vlivros = new Array ();
    alert("Bem vindo ao sistema de cadastro de Livraria\nDigite 1 para cadastrar livros\nDigite 2 para cadastrar clientes\nDigite 3 para cadastrar funcionários");
    var opçao=prompt(" Digite a opção que deseja realizar :D ")

    switch(opçao){
        case "1":
            var resposta="sim";
            while (resposta == "sim") {
                var livroc = new Livro();
                livroc.codigo=prompt("Digite o codigo do livro: ");
                livroc.nome=prompt("Digite o nome do livro: ");
                livroc.autor=prompt("Digite o nome do autor do livro: ");
                livroc.editora=prompt("Digite o nome da Editora do Livro: ");
                livroc.ano=prompt("Digite o ano do livro: ");
                livroc.ediçao=prompt("Digite a edição do livro ");
                vlivros.push(livroc);
                resposta=prompt("Deseja continuar cadastrando?");
            }
            break
    }
    document.write("Relatório dos Livros(s) Cadastrado(s)");
    document.write("<br/>");
    for(var i=0; i < vlivros.length; i++ ){
        document.write("Codigo do livro: " + vlivros[i].getCodigo());
        document.write("<br/>");
        document.write("Nome do livro: " + vlivros[i].getNome());
        document.write("<br/>");
        document.write("Nome do autor do livro: " + vlivros[i].getAutor());
        document.write("<br/>");
        document.write("Nome da Editora do livro: " + vlivros[i].getEditora());
        document.write("<br/>");
        document.write("Ano do livro: " + vlivros[i].getAno());
        document.write("<br/>");
        document.write("Edição do livro: " + vlivros[i].getEdiçao());
        document.write("<br/>");
    }

</script>

Browser other questions tagged

You are not signed in. Login or sign up in order to post.