Oii, Thales! Tudo bem?
Uma forma de corrigir o problema de repetição da solicitação da variável de substância é colocar a declaração desta variável , fora da função procura()
, dessa forma, o pedido da substância será executado apenas uma única vez.
Vejamos um exemplo de como ficaria o código com essa alteração:
<meta charset="utf-8">
<script type="text/javascript">
var dataChem = [ {nome:'K', massa:30.09},{nome:'Na', massa:22.99},{nome:'Mg', massa:24.30}];
var substancia = prompt("Qual o nome da substância?");
var index = dataChem.findIndex(procura);
var massaMolecular = (dataChem[index].massa);
function procura(element, index, array) {
return element.nome == substancia;
}
function calculaMassa (x,y) {
return massaDaSubstancia = (numeroDeMolsDaSubstancia*massaMolecular)/1
}
function calculaMols (a,b) {
return numeroDeMolsDaSubstancia = (1*massaDaSubstancia)/massaMolecular;
}
var unidadeResposta = prompt("Você deseja obter como resultado massa ou número de mols?");
if(unidadeResposta == "massa"){
var numeroDeMolsDaSubstancia = parseFloat(prompt("informe o número de mols da substâcia"));
var resultadoMas = calculaMassa(massaMolecular,numeroDeMolsDaSubstancia);
document.write(resultadoMas + " g");
}else{
var massaDaSubstancia = parseFloat(prompt("informe o a massa da substância em gramas"));
var resultadoMol = calculaMols(massaDaSubstancia,massaMolecular);
document.write(resultadoMol+ " mol");
}
</script>
Ao realizar a alteração será solicitado somente uma vez para inserir o nome da substância. Faça a modificação, realize o teste e verifique se obterá êxito.
Espero ter ajudado. Qualquer dúvida estarei à disposição.
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!