Ir para o conteúdo

Função Array Search Tipo Php


Criado por Ted k', Mar 29 2011 14:08

1 resposta neste tópico
  • Por favor, faça o login para responder

#1 Ted k'

Ted k'
  • Ted k'
  • Colaborador
  • 17 Revisões
  • LocalizaçãoSalvador - {BA}

Revisou 29 maro 2011 - 14:08

Esta função falicita a procura de um valor dentro de um array, como a função nativa do PHP array_search();

Segue a função abaixo:
<script type="text/javascript">
	function array_search(parametro, arr){
		var key = "";
		var strict = "";

		for (key in arr){
			if ((strict && arr[key] === parametro) || (!strict && arr[key] == parametro)){
				return parametro;
			}
		}

		return false;
	}
</script>

Exemplo de aplicação:
<script type="text/javascript">
	var array_dados = ["Teste 01", "Teste 02", "Teste 03"];
	alert(array_search("Teste 02", array_dados));
</script>

Segue o script completo:
<script type="text/javascript">
// Função.
function array_search(parametro, arr){
    var key = "";
	var strict = "";

    for (key in arr){
        if ((strict && arr[key] === parametro) || (!strict && arr[key] == parametro)){
			return parametro;
        }
    }

    return false;
}

// Criando o Arrray para teste.
var array_dados = ["Teste 01", "Teste 02", "Teste 03"];

// Aplicando o Teste.
alert(array_search("Teste 02", array_dados));
</script>

Esta revisão foi editado por João Batista Neto: 29 maro 2011 - 14:16
Adicionar BBCode


#2 João Batista Neto

João Batista Neto
  • João Batista Neto
  • Verschränkung
  • 57 Revisões
  • LocalizaçãoFranca/SP

Revisou 29 maro 2011 - 14:47

var strict = "";
...
if ((strict && arr[key] === parametro) || (!strict && arr[key] == parametro)){


Ei Ted,

Qual o objetivo desse seu strict ?

Se a ideia é utilizar == ou ===, você deve colocá-lo como parâmetro:

Array.prototype.search = function( needle , strict ) {
	strict = strict == undefined ? false : strict;

	for ( key in this ) {
		if ( strict ? this[ key ] === needle : this[ key ] == needle ) {
			return key;
		}
	}

	return false;
};

var array = [ 1 , 2 , '3' , 4 ];

alert( array.search( 3 ) ); //2
alert( array.search( 3 , false ) ); //2
alert( array.search( 3 , true ) ); //false

;)
João Batista Neto
Desenvolvedor engenheiro PHP
http://www.google.com/profiles/neto.joaobatista




1 usuário(s) está(ão) lendo este código

1 membro(s), 0 visitante(s) e 0 membros anônimo(s)