How to remove items from an array?

1
    function converterBinario () {
       numero = document.getElementById("Valor-decimal").value;
       var vetor = [];
       var i =numero;
       var cont=0;
       while(i>0){

         var resto = Math.floor(numero % 2);

         if (resto == 0 | 1 ){
            vetor[i] = resto;
            console.log(resto);
         }

        numero= Math.floor(numero/2);
        console.log(numero);
        i--;
    }

document.getElementById("resultado").innerHTML =vetor;
console.log(vetor);

}

I want to remove the zeros from the array that appear before 1.

    
asked by anonymous 31.03.2018 / 05:09

1 answer

1

You can use filter() :

vetor = vetor.filter(function(v,i){
   return i >= vetor.indexOf(1);
});

The i >= vetor.indexOf(1) will return only the indexes from the first occurrence of 1 in the vector.

Example:

function converterBinario () {
   //       numero = document.getElementById("Valor-decimal").value;
   numero = 10;
   var vetor = [];
   var i =numero;
   var cont=0;
   while(i>=0){
   
      var resto = Math.floor(numero % 2);
   
      if (resto == 0 | 1){
         vetor[i] = resto;
      }
   
      numero= Math.floor(numero/2);
      //        console.log(numero);
      i--;
      
     
   }

   console.log("vetor original => ",vetor.join());

   vetor = vetor.filter(function(v,i){
      return i >= vetor.indexOf(1);
   });
   
   //document.getElementById("resultado").innerHTML =vetor;
   console.log("vetor filtrado => ",vetor.join());

}

converterBinario();
    
31.03.2018 / 06:13