Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

202
Visualizações
Javascript contact list with add and search of person name and their number

I want to ask a question , here I have made a little project of javascript of a contact list where I can add a person with his telephone number , or search for him ,I did everything alright except for a little problem , when I search for an added contact list and make alert of the result , the alert result becomes duplicated , the alert result for each person appears twice , so I want to know how to solve this problem here in javascript , and thanks in advance Here is the code source for it :

alert ("This is a phone book app to add and search for contact list previously added,hope you like it : )");


var contactlist = [];
var app = true ;

do{
var input = prompt("please tell us if you want to add or search for a contact or exit \n (add/search/exit)");

if (input == "add"){

    addcontact();
}
if (input == "search"){
    searchcontact();
}
if (input == "exit"){
    app = false;
}

}while(app)








function addcontact(){
    var contactins = {
        name:prompt("please enter the name of contact here"),
        tel:prompt("please enter the telephone number of the contact here")
    }
    
    contactlist.push(contactins);

    alert("Contact added successfully");
    

}


function searchcontact(){
    var input2 = prompt("do you want to search for the contact through name or telephone number ? \n (name/number)");
    if (input2 == "name"){
        var inputname = prompt("what name you want to search for ?");
        
            contactlist.filter(function(item){
            item.name == inputname ;
            for(var i in item){
            alert("the search result is of " + item.name + " and his telephone number is " + item.tel );
            }
            
            
        }
        
        
        )
    
}
    if (input2 == "number"){
        var inputnumber = prompt("what number you want to search for ?");
    
        contactlist.filter(function(item){
        item.tel == inputnumber ;
        for(var i in item){
        alert("the search result is of " + item.name + " and his telephone number is " + item.tel );
        }
        
        
    }
    
    
    )

}
}
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

You are looping over item object inside filter function which has two keys, and thus the alert is showing twice. Instead, you should loop over filter results:

alert ("This is a phone book app to add and search for contact list previously added,hope you like it : )");


var contactlist = [];
var app = true ;

do{
var input = prompt("please tell us if you want to add or search for a contact or exit \n (add/search/exit)");

if (input == "add"){

    addcontact();
}
if (input == "search"){
    searchcontact();
}
if (input == "exit"){
    app = false;
}

}while(app)



function addcontact(){
    var contactins = {
        name:prompt("please enter the name of contact here"),
        tel:prompt("please enter the telephone number of the contact here")
    }
    
    contactlist.push(contactins);

    alert("Contact added successfully");
    

}


function searchcontact(){
    let results = null
    var input2 = prompt("do you want to search for the contact through name or telephone number ? \n (name/number)");
    if (input2 == "name"){
        var inputname = prompt("what name you want to search for ?");
        
            results = contactlist.filter((item) => {
              return item.name == inputname
            })
            
            
            for(var res of results){
                alert("the search result is of " + res.name + " and his telephone number is " + res.tel );
            }
    
}
    if (input2 == "number"){
        var inputnumber = prompt("what number you want to search for ?");
    
        results = contactlist.filter((item) => {
           return item.tel == inputnumber;
        })
        
        for(var res of results){
           alert("the search result is of " + res.name + " and his telephone number is " + res.tel );
        }
        
        

}
}

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda