Null input via keyboard in a variable receipt via JavaScript

-1

Good Night! In my practical experiences in JavaScript, I tried to create a condition to alert the user to a variable that he left unnoticed by pressing the enter key twice. However, trying to solve this problem, I made two attempts:

/*Tentativa 1:*/

var linha = Array(3,3);
var x, y;
for (x = 0; x < 3; x++) {
  for (y = 0; y < 3; y++) {
    linha[x,y] = parseInt(prompt("Digite o "+[y+1]+"º número da "+[x+1]+"º coluna"));
    if (linha[x,y] == null) {
      alert("Digite alguma coisa");
      while (linha[x,y] == null){
        linha[x,y] = parseInt(prompt("Digite o "+[y+1]+"º número da "+[x+1]+"º coluna"));
        if (linha[x,y] == null) {
          alert("Digite alguma coisa");
        }
      }
    }
  }
}

/*Tentativa 2:*/

var linha = Array(3,3);
var x, y;
for (x = 0; x < 3; x++) {
  for (y = 0; y < 3; y++) {
    linha[x,y] = parseInt(prompt("Digite o "+[y+1]+"º número da "+[x+1]+"º coluna"));
    if (linha[x,y] == " ") {
      alert("Digite alguma coisa");
      while (linha[x,y] == " "){
        linha[x,y] = parseInt(prompt("Digite o "+[y+1]+"º número da "+[x+1]+"º coluna"));
        if (linha[x,y] == " ") {
          alert("Digite alguma coisa");
        }
      }
    }
  }
}
Question: Which method is most feasible to solve this problem above?     
asked by anonymous 11.12.2018 / 02:12

1 answer

1

When you convert null, or an empty string, with parseInt , the assigned value will be NaN ( Not-a-Number ). Therefore, the possibly safest way to test if the user has not entered any value is by using the global function isNaN . It returns true if the value tested is not a number ( isNot-a-Number ). Then it would look like:

var linha = Array(3,3); 
var x, y; 
for (x = 0; x < 3; x++) { 
    for (y = 0; y < 3; y++) { 
        linha[x,y] = parseInt(prompt("Digite o "+[y+1]+"º número da "+[x+1]+"º coluna")); 
        if (isNaN(linha[x,y])) { 
            alert("Digite alguma coisa");
            while (isNaN(linha[x,y])){ 
                linha[x,y] = parseInt(prompt("Digite o "+[y+1]+"º número da "+[x+1]+"º coluna")); 
                if (isNaN(linha[x,y])) { 
                    alert("Digite alguma coisa"); 
                } 
            } 
        } 
    } 
}

According to what you have made available, I think this may solve the problem.

I hope I have helped!

    
11.12.2018 / 02:47