¿Cuál es la diferencia entre Object Literals y Array Literals en JavaScript? Sé que tiene algo que ver con el método de longitud, pero no lo entiendo del todo.JavaScript Object Literals & Array Literals
Respuesta
Mozilla.org tiene una muy buena explicación de los diferentes literales con ejemplos.
literales de matriz
un literal de matriz es una lista de cero o más expresiones, cada uno de los cuales representa un elemento de matriz, encerrados entre corchetes ([]). Cuando crea una matriz utilizando una matriz literal, se inicializa con los valores especificados como sus elementos, y su longitud se establece en el número de argumentos especificados.
literales de objetos
Un objeto literal es una lista de cero o más pares de nombres de propiedades y valores asociados de un objeto, encerradas en llaves ({}). Usted no debe usar un literal de objeto en al comienzo de una instrucción. Este dará lugar a un error o no se comportará como que espera, porque el {será interpretado como el comienzo de un bloque .
La diferencia es la forma en que están indexados.
Los objetos tienen nombre, pares de valores que no están ordenados. En algunos navegadores, el orden en que agregó valores será el orden que obtenga cuando atraviese el objeto pero no en todos. El nombre suele ser una cadena.
Las matrices son numéricamente indexados y el orden es totalmente fiable
objeto literal
var a = {};
literal de matriz
var a = [];
eso es todo! matriz numérica
de PHP convierte en un literal de matriz o un objeto literal en JavaScript
$ar = array('apple', 'orange', 'banana', 'strawberry');
echo json_encode($ar); // ["apple","orange","banana","strawberry"] - Array literal
echo json_encode($ar, **JSON_FORCE_OBJECT**); // {"0":"apple","1":"orange","2":"banana","3":"strawberry"} - Object Literal
matriz asociativa
de PHP convierte en un objeto literal en JavaScript
$book = array(
"title" => "JavaScript: The Definitive Guide",
"author" => "David Flanagan",
"edition" => 6
);
echo json_encode($book); // {title: "JavaScript: The Definitive Guide", author: "David Flanagan", edition: 6} - Object Literal
- 1. Object Literals en Java
- 2. Struct Array Initialization and String Literals
- 3. String Literals
- 4. Escapar literals de cadenas de JavaScript en las vistas
- 5. Verbatim Literals en Managed C++? (como C# 's @ "blah")
- 6. ¿Es posible la recursión con XML Literals en VB.NET?
- 7. Ruby Array find_first object?
- 8. object to string array
- 9. java convert object array a int array
- 10. ¿Qué tan seguros y confiables son los Literals de C++ String?
- 11. Cómo evitar la codificación HTML para expresiones incrustadas en XML Literals (VB.NET)?
- 12. ¿Por qué no XML Literals dinámicos heredan el espacio de nombre predeterminado
- 13. foreach object/array en jQuery
- 14. ¿Qué significa [object Object]? (JavaScript)
- 15. PHP Array stdClass Object - Valor del eco
- 16. Java: Casting Object to Array type
- 17. JSON to javaScript array
- 18. JavaScript Array
- 19. XML to JavaScript Object
- 20. Javascript object inheritance
- 21. JavaScript Array Sintaxis
- 22. Array Javascript Problema
- 23. javascript sorprendente array comparison
- 24. Array de Javascript Reverso
- 25. JavaScript Array/Struct
- 26. 2D array de Javascript
- 27. PHP read Javascript array
- 28. Javascript selecbox.options para array?
- 29. Javascript Object push() la función
- 30. AngularJS: ngResource y array of object como params a URL