Cita:
Iniciado por Legoltaz
Tengo esta duda: ¿Cómo podría hacer para que una función devuelva más de un valor para que los reciba otra función?
He intentado esto, pero no me funciona

:
Código JavaScript
:
Ver originalfunction setValues(){
var title = prompt("Title:");
var title2 = prompt("2nd title:");
return [title,title2];
}
var [t,t2] = setValues();
alert("1st title: "+t+";2nd title: "+t2);
También he probado de esta forma, pero sólo me devuelve el segundo valor (title2) y el primero me lo asigna como undefined:
Código JavaScript
:
Ver originalfunction setValues(){
var title = prompt("Title:");
var title2 = prompt("2nd title:");
return title,title2;
}
var t,t2 = setValues();
alert("1st title: "+t+";2nd title: "+t2);
Javascript no soporta devolver varios argumentos como por ejemplo Ruby. Tienes que "currartelo" para hacerlo a tu manera.
En el primer caso deberías hacer esto
Código JavaScript
:
Ver originalfunction setValues(){
var title = prompt("Title:");
var title2 = prompt("2nd title:");
return [title,title2];
}
var t = setValues();
alert("1st title: "+t[0]+";2nd title: "+t[1]);
Otra cosa que puedes hacer es devolver un objeto javascript
Código JavaScript
:
Ver originalfunction setValues(){
var title = prompt("Title:");
var title2 = prompt("2nd title:");
var devolver = {
title: title,
title2: title
}
return devolver;
}
var titulos = setValues();
alert("1st title: "+titulos.title+";2nd title: "+titulos.title2);
Saludos!