Devolver múltiples valores en JavaScript
- Devolver múltiples valores de una función con matriz en JavaScript
- Devolver múltiples valores de una función con objetos en JavaScript
Por lo general, una función termina teniendo un caso de devolución. El caso de devolución puede tener un valor o no tener nada que pasar.
En JavaScript, no se admite una función para devolver varios valores. Entonces, para habilitar el empaquetamiento de múltiples valores y pasarlos a través de una función, tomamos la ayuda de matrices y objetos.
Aquí demostraremos el uso de un array para almacenar múltiples valores de función. Y más adelante, también veremos cómo puede usar un objeto para recopilar los valores de la función.
Además, también descubriremos cómo desempaquetar los valores de la función con una asignación de destrucción
y una declaración de variables generales.
Devolver múltiples valores de una función con matriz en JavaScript
En este caso, la función getValue
tiene dos variables y las pasaremos como un array para devolver.
La declaración de la nueva variable feature
almacenará los retornos de la función en forma de array. Como cualquier otro recorrido de array, podemos acceder a los valores con índices.
Más sencillamente, el feature
aquí es otro array que coge los valores de sincronización devueltos por la función getValues
en forma de array.
Fragmento de código:
function getValues() {
var hair = 'Short', color = 'Black';
return [hair, color];
}
var feature = getValues();
var x = feature[0];
var y = feature[1];
console.log(x + ' ' + y + ' Hair');
Producción:
Use Destruir asignación
para desempaquetar la matriz
En general, podemos declarar fácilmente variables u objetos para almacenar los elementos del array. Pero es tedioso definir var
cada vez para grandes datos.
También puede recorrer un array para acceder a los valores. Aparte de eso, ES6 tiene una nueva adición para desempaquetar elementos de array como el ejemplo a continuación.
Fragmento de código:
function getValues() {
var hair = 'Short', color = 'Black';
return [hair, color];
}
var [x, y] = getValues();
console.log(x + ' ' + y + ' Hair');
Producción:
Devolver múltiples valores de una función con objetos en JavaScript
Puede tener fácilmente un par clave-valor
para estructurar sus datos con objetos. Para esta unidad de ejemplo, inicializaremos nuevamente la función getValues
, y esta vez el caso de devolución estará en un formato de objeto.
Fragmento de código:
function getValues() {
var hair = 'Long', color = 'Brown';
return {hair, color};
}
var feature = getValues();
var x = feature.hair;
var y = feature.color;
console.log(x + ' ' + y + ' Hair');
Producción:
El bloque de código aquí tiene una feature
variable que funciona como un objeto. Posteriormente junto con el método punto(.)
, llamamos a las claves
para acceder a los valores.
Este map
requiere explícitamente los nombres de las claves, por lo que los valores correspondientes toman la palabra.
Use Destrucción de asignación
para desempaquetar objeto
Un objeto que se ha pasado desde una función se puede desempaquetar declarando la convención ES6: destrucción de la asignación
.
Aquí declararemos explícitamente las claves
, pero la declaración accederá a los pares de valores directamente desde la función. Revisemos el bloque de código.
Fragmento de código:
function getValues() {
var hair = 'Long', color = 'Brown';
return {hair, color};
}
var {hair, color} = getValues();
console.log(hair + ' ' + color + ' Hair');
Producción:
Como puede ver, acabamos de pasar las claves
de la función, y cuando las estamos desempaquetando con los nombres de las claves, la salida también muestra los valores correspondientes.