Como comparar a variável atual com o tipo de corrente?

votos
0

No meu código eu tento comapare o elemento atual da matriz tmpcom a seqüência de tipos e número. Com esta comparar Quero imprimir no console do resultado diferente, ou seja, se é uma cadeia de imprimi-lo na mesma linha (a palavra inteira), a próxima palavra a ser na segunda linha e assim por diante. Mas se é um número cada dígito para imprimir na nova linha.

número

número de saída

número

cadeia de entrada

cadeia

string de saída

string

HTML

<!Doctype html>
<html xmlns=http://www.w3.org/1999/xhtml>
    <head>
        <meta name=viewport content=width=device-width>
        <meta charset=utf-8>
        <title>Exercises in JS</title>
        <script src=exercises.js></script>
        <body>
       <label for=myText>Input array:</label>
        <input type=text id=myText>
        <a href=# id=sub>Submit</a>

        <br/>
        <br/>
        <label for=myText2>Input for delete:</label>
        <input type=text id=myText2>
        <a href=# id=sub2>Submit</a>

    </body>

    </head>
</html>

Javascript

window.onload = function(){

inputBox =document.getElementById(myText);
btn = document.getElementById('sub');

inputBox2 = document.getElementById(myText2);
btn2 = document.getElementById('sub2');

btn.addEventListener(click,function(event){
   event.preventDefault();

   saveArr(inputBox.value);
});

btn2.addEventListener(click,function(event){
   event.preventDefault();
   removeItemAndprintNewArray(inputBox.value, inputBox2.value);
});

    function saveArr(arr) {

    var rv = [];

    for (var i = 0; i < arr.length; ++i)
       rv[i] = arr[i];

       return rv;
    }

    function removeItemAndprintNewArray(rv, number) {

    var tmp = [],
    st = ;

        for(var index in rv){
            if(rv[index] !== number){
                tmp.push(rv[index]);
            }
        }

        for (var i = 0; i < tmp.length; i++){
            if (typeof(tmp[i]) == String){
                st += tmp[i];
                console.log(st);
            }

            else if (typeof(tmp[i]) === Number){
                st += tmp[i];
                console.log(st[i]);
            }
        }
    }
}
Publicado 17/09/2016 em 11:13
usuário
Em outras línguas...                            


1 respostas

votos
1

Javascript faz automaticamente o tipo de conversas, e se conversa falhar, ele retorna o valor NaN em vez de exceção lance. Vamos usá-lo)

Um pequeno exemplo

var arr = [12, "asd", 4];
arr.forEach(function(item) {
    console.log(item - 0);
});

Então você pode verificar em NaN, não se esqueça que você deve usar isNaN função especial ()

var arr = [12, "asd", 4];
arr.forEach(function(item) {
    if(isNaN(item - 0)) {
         //do what you want with string
         console.log("string");
    };
    else {
         //do what you want with Number
         console.log("number");
    }
});
Respondeu 17/09/2016 em 11:28
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more