Foros del Web » Programando para Internet » Javascript »

array_unique en JavaScript

Estas en el tema de array_unique en JavaScript en el foro de Javascript en Foros del Web. Buenas, me a surgido un problema y antes de empezara desarrollar una funcion que solucione mi problema prefiero preguntar por aqui. En PHP contamos con ...
  #1 (permalink)  
Antiguo 09/07/2004, 03:49
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 6 meses
Puntos: 5
array_unique en JavaScript

Buenas, me a surgido un problema y antes de empezara desarrollar una funcion que solucione mi problema prefiero preguntar por aqui. En PHP contamos con diferentes funciones para trabajar con arrays (Matrices), existe una funcion llamada array_unique que pasandole un array como parametro te devuelve lotr array con los datos unicos del array dado, es decir, si tenemos un array tal que:
Código PHP:
$ar = array("hola""adios""hola");
$r array_unique($ar);
print_r($r); 
Lo que tendriamos en $r seria un array con dos elementos, hola y adios ya que hola se repite.

Mi pregunta es: existe alguna funcion similar en JavaScript? o me la tengo que programar?

Muchas gracias
__________________
Usuario registrado de Linux #288725
  #2 (permalink)  
Antiguo 09/07/2004, 04:34
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Hay una forma fantástica!
Código PHP:
<?$ar = array("hola""adios""hola"); 
$r array_unique($ar); 
$lista="";
for(
$a=0;$a<count($r);$a++){
if(
$a>&& $a<count($r)-1){$lista.=","}
$lista.="'".$r[$a]."'";
}
?>
<script>
r=[<?echo $lista?>];
</script>
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 09/07/2004, 04:52
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 6 meses
Puntos: 5
Vale jeje pero eso no es Javascript es PHP y yo necesito eso pero en Javascript

A ve si podemos implementarlo jeje
__________________
Usuario registrado de Linux #288725
  #4 (permalink)  
Antiguo 09/07/2004, 06:01
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 6 meses
Puntos: 5
Buscando un poquito ... y pensando otro poquito he llegado a esto:

Código PHP:
<?php
$array  
= array("kk""bb""kk""cc""bb");
function 
mi_array_unique($array) {
    
$target = array();
    
$existing_sub_key_values = array();
    for(
$i 0$i count($array); $i++) {
        if(!
in_array($array[$i], $existing_sub_key_values)) {
            
$existing_sub_key_values[] = $array[$i];
            
$target[$i] = $array[$i];
        }
    }
    return 
$target;
}

$x mi_array_unique($array);
print_r($x);
?>
Eso es una implentacion de array_unique en PHP, de ahi e intentado pasarlo a Javascript, y me a quedado asi:

Código:
function array_unique(array) {
	var target = new Array();
	var existing_sub_key_values = new Array();
	
	for(var i = 0; i < array.length; i++) {
		if(!in_array(array[i], existing_sub_key_values)) {
			existing_sub_key_values[] = array[i];
			target[i] = array[i];
		}
	}
	
	return target;
}

function in_array(str, ar) {
	for(var i = 0; i < ar.length; i++) {
		if(str == ar[i]) {
			return true;
		}
	}
	return false;
}
Lo que pasa es que no me funciona ... y ya toy tan cansado jeje que no veo el fallo, asi que si alguien lo ve que me lo diga jeje sino el Lunes habra que terminarlo jeje

Un saludo!
__________________
Usuario registrado de Linux #288725
  #5 (permalink)  
Antiguo 09/07/2004, 06:25
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Si te da igual que te devuelva un array ordenado siempre puedes usar esta funcion

Código HTML:
function array_unique(arr){

if (arr.length>1){

	var arr=arr.sort();
	var arrUnique=new Array(arr[0]);
	for (i=1;i<arr.length;i++){
		if(arr[i]!=arrUnique[arrUnique.length-1]){

			arrUnique.push(arr[i]);
		}
		
	}
	return arrUnique;
}
else{
	return arr;
}
}
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #6 (permalink)  
Antiguo 10/07/2004, 06:55
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 6 meses
Puntos: 5
Tiene muy buena pinta jeje el lune slo pruebo muchas gracias
__________________
Usuario registrado de Linux #288725
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:38.