El método Array.of() crea una nueva instancia Array con un número variable de elementos pasados como argumento, independientemente del número o del tipo.

La diferencia entre Array.of() y el constructor Array reside en como maneja los parámetros de tipo entero: Array.of(7) crea un array con un solo elemento, 7, mientras que Array(7) crea un array vacío con una propiedad length de 7 (Nota: esto implica un array de 7 ranuras vacías, no ranuras con valores undefined).

Array.of(7);       // [7] 
Array.of(1, 2, 3); // [1, 2, 3]

Array(7);          // [ , , , , , , ]
Array(1, 2, 3);    // [1, 2, 3]

Sintaxis

Array.of(elemento0[, elemento1[, ...[, elementoN]]])

Parámetros

elementoN
Valores con los que se creará el Array en su respectivo indice.

Valor de retorno

Una nueva instancia de Array.

Descripción

Esta función es parte del estándar ECMAScript 2015. Para obtener más información, consulte Array.of y Array.from proposal y Array.of polyfill.

Ejemplos

Array.of(1);         // [1]
Array.of(1, 2, 3);   // [1, 2, 3]
Array.of(undefined); // [undefined]

Polyfill

Escribiendo el siguiente código antes que cualquier otro, podemos emular la funcionalidad de Array.of() si es que ésta no está disponible de forma nativa.

if (!Array.of) {
  Array.of = function() {
    return Array.prototype.slice.call(arguments);
  };
}

Especificaciones

Especificación Estado Comentario
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'Array.of' en esta especificación.
Standard Definición inicial.
ECMAScript Latest Draft (ECMA-262)
La definición de 'Array.of' en esta especificación.
Draft  

Compatibilidad con navegadores

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Soporte básicoChrome Soporte completo 45Edge Soporte completo SiFirefox Soporte completo 25IE Sin soporte NoOpera Soporte completo SiSafari Soporte completo 9WebView Android Soporte completo SiChrome Android Soporte completo 39Edge Mobile Soporte completo SiFirefox Android Soporte completo 25Opera Android Soporte completo SiSafari iOS Soporte completo SiSamsung Internet Android Soporte completo 4.0nodejs Soporte completo 4.0.0

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte

Ver también

Etiquetas y colaboradores del documento

Colaboradores en esta página: lajaso, missmakita, egosum, luisNavasArg, adelamata
Última actualización por: lajaso,