All pastes #178669 Raw Edit

lookatitude

public text v1 · immutable
#178669 ·published 2006-09-21 13:46 UTC
rendered paste body
//função para pesquisar array e retornar o indice de um valor
//   ---
// procura a posição de um valor dentro de um array de acordo com o parametero 'valor'
// retorna -1 se não encontrar o valor
//
// --- syntax:
// array.search( valor [, de, restrito])
// - valor: valor a procurar
// - de: posição de inicio da procura
// - restrito: valor booleano. Se true verifica se o tipo de dados corresponde
//           ex: 0 é diferente de "0" um é do tipo INT e o 2º é uma String
//               Por isso são de tipos diferentes
// ---
Array.prototype.search = function(valor, de, restrito)
{
   if(de == undefined || de >= this.length) de = 0;
   restrito = restrito == undefined ? false : restrito;
   for(var a = de; a < this.length; a++)
   {
      if(this[a] == valor)
      {
         if(restrito)
         {
            if(this[a].__proto__ == valor.__proto__)
            {
               return a;
            }
         } else {
            return a;
         }
      }
   }
   return -1;
};

// --------
// uso da função
// --------
/*
a = [0,1,2,3,4,5,'',7,"0",1]
b = "0"
resultado = a.search(b) // retorna 0
resultado2 = a.search(b,0,true) // retorna 8
resultado3 = a.search(b,9) // retorna -1
*/