Cita:
Iniciado por caricatos
...
No existe nigún equivalente de list en javascript, pero si de explode...
...
No, por lo menos no en la versión de javascript que manejamos. Próximamente (si IE se va poniendo las pilas...) tendremos nuestra queridísima
asignación desestructurada, con la que podremos hacer cosas de éstas, como se ve en el enlace:
Código PHP:
// intercambio de valores
var a = 1;
var b = 3;
[a, b] = [b, a];
// devolver varios valores
function f() {
return [1, 2];
}
var a, b;
[a, b] = f();
Y, por supuesto, el ejemplo que estamos buscando. Pongo el código completo para quien quiera probarlo en un FF2, es interesante:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
</head>
<body>
<script type="application/javascript;version=1.7">
var fecha = "12/01/2005";
[dia, mes, anyo] = fecha.split("/");
alert("Dia: "+dia+"\nMes: "+mes+"\nAño: "+anyo);
</script>
</body>
</html>
No es lo mismo, pero a mi me ahorraría bastante código normalemente con los splits:
Código PHP:
Array.prototype.list = function() {
var n = arguments.length;
if( n == this.length ) {
for(var i=0; i<n; i++)
window[ arguments[i] ] = this[i];
return true;
}
else {
alert("Cantidad de argumentos mal dada.");
}
}
var fecha = "12/01/2005";
fecha.split("/").list("dia","mes","anyo");
alert("Dia: "+dia+"\nMes: "+mes+"\nAño: "+anyo);
Es lo que se me ha ocurrido improvisando.
Pero hasta que llegue el 1.7, a esperar...
Un saludo