values recorrer objetos objeto new lista imprimir eliminar elemento array agregar javascript object-literal static-initialization

new - recorrer array de objetos javascript



¿Cómo llenar un objeto Javascript literalmente con muchos pares clave/valor estáticos de manera eficiente? (5)

En la versión ES2015 aka ES6 de JavaScript, se introduce un nuevo tipo de datos llamado Map .

let map = new Map([["key1", "value1"], ["key2", "value2"]]); map.get("key1"); // => value1

Compruebe esta referencia para más información.

La forma típica de crear un objeto Javascript es la siguiente:

var map = new Object(); map[myKey1] = myObj1; map[myKey2] = myObj2;

Necesito crear un mapa en el que tanto las claves como los valores sean cadenas. Tengo un conjunto grande pero estático de pares para agregar al mapa.

¿Hay alguna manera de realizar algo como esto en Javascript:

var map = { { "aaa", "rrr" }, { "bbb", "ppp" } ... };

o tengo que hacer algo como esto para cada entrada:

map["aaa"]="rrr"; map["bbb"]="ppp"; ...

Básicamente, el código Javascript restante recorrerá este mapa y extraerá los valores de acuerdo con los criterios conocidos "en tiempo de ejecución". Si hay una mejor estructura de datos para este trabajo de bucle, también me interesa. Mi objetivo es minimizar el código.


Funciona bien con la notación literal del objeto:

var map = { key : { "aaa", "rrr" }, key2: { "bbb", "ppp" } // trailing comma leads to syntax error in IE! }

Por cierto, la forma común de instanciar arrays

var array = []; // directly with values: var array = [ "val1", "val2", 3 /*numbers may be unquoted*/, 5, "val5" ];

y objetos

var object = {};

También puedes hacer ya sea:

obj.property // this is prefered but you can also do obj["property"] // this is the way to go when you have the keyname stored in a var var key = "property"; obj[key] // is the same like obj.property


La sintaxis literal del objeto de JavaScript, que normalmente se usa para crear una instancia de los objetos (en serio, nadie usa un new Object o una new Array ), es la siguiente:

var obj = { ''key'': ''value'', ''another key'': ''another value'', anUnquotedKey: ''more value!'' };

Para matrices es:

var arr = [ ''value'', ''another value'', ''even more values'' ];

Si necesitas objetos dentro de objetos, eso también está bien:

var obj = { ''subObject'': { ''key'': ''value'' }, ''another object'': { ''some key'': ''some value'', ''another key'': ''another value'', ''an array'': [ ''this'', ''is'', ''ok'', ''as'', ''well'' ] } }

Este método conveniente de poder crear una instancia de datos estáticos es lo que condujo al formato de datos JSON .

JSON es un poco más delicado, las claves deben estar entre comillas dobles, así como los valores de cadena:

{"foo":"bar", "keyWithIntegerValue":123}


La sintaxis que escribiste como primera no es válida. Puedes lograr algo usando el siguiente:

var map = {"aaa": "rrr", "bbb": "ppp" /* etc */ };


Prueba esto:

var map = {"aaa": "rrr", "bbb": "ppp"};