Quiero algo similar a esto:
Cars { "test-01-test" : { brand: 'anybrand', color: 'blue, }Quiero Autos como Objeto y el id "test-01-test" como Objeto también.
Entonces puedo leerlo así:
console.log(this.cars["test-01-test"].color) //result should be blueIntenté esto en mi función de datos.
cars : { id : { brand : '', color : '', } }y luego en mi montado en escribí esto:
this.cars.id = "test-01-test"; this.cars.id["test-01-test"].color="blue"; console.log(this.cars);Pero la consola dice que:
No se puede establecer la propiedad 'color' de indefinido
Quiero configurar el color y similares mi primer ejemplo, ¿cómo puedo hacerlo?
Lo que estoy tratando de hacer es agregar ID dinámicamente. Si hago algo como esto (imagina que les pido a los usuarios con un modal que inserten un nuevo auto con una nueva identificación):
this.cars[id] = "test-02-test" //test-02-test was given by the user's inputQuiero crear un nuevo objeto con el valor "test-02-test" y luego poner el color y la marca para que mis datos se vean así:
Cars { "test-01-test" : { brand: 'anybrand', color: 'blue, }, "test-02-test" : { brand: 'anybrand', color: 'blue, }Lo que hiciste es:
let cars = { id: { brand: '', color: '', } }; cars.id = "test-01-test"; console.log(cars);En su lugar, debe hacer:
let cars = { id: { brand: '', color: '', } }; console.log(cars); cars.id.color = "blue"; console.log(cars);o dinámicamente:
let cars = { peugeot: { brand: '', color: '', }, citroen: { brand: '', color: '', } }; let id = 'citroen' cars[id].color = "blue"; console.log(cars);Puede agregar una nueva identificación como a continuación:
let cars = { peugeot: { brand: '', color: '', }, citroen: { brand: '', color: '', } }; let id = 'ford' cars[id] = { brand: '', color: '', }; console.log(cars);o con https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
let cars = { peugeot: { brand: '', color: '', }, citroen: { brand: '', color: '', } }; cars = {...cars, dodge: { brand: '', color: '', } } console.log(cars);Tu identificación es una clave dentro de este objeto.
Probar:
let cars = { "test-01-test" : { brand : 'anybrand', color : 'blue', } } console.log(cars["test-01-test"].color) // Output: bluePorque el identificador distingue entre mayúsculas y minúsculas. Una función definida en el ámbito global, 'esto' se refiere en este objeto de ventana de función, cuando accede a 'esto' en la función, se refiere a window.cars. Entonces, window.cars no es igual a window.Cars.