Tengo datos de JavaScript que se ven así:
[ ["firstName", "bob"], ["lastName", "smith"], ["address", "123 Main St] ]
Los segundos valores en cada matriz (bob, smith, 123 main st) los ingresa el usuario. Simplemente quiero imprimir el valor ingresado. Sé que puedo usar índices (como [0][1] para capturar "bob"), pero ¿hay una mejor manera de hacerlo? Sé que los objetos de JavaScript tienen un método .get() donde puede ingresar la clave y devolver el valor (como .get("firstName") para devolver "bob"). ¿Hay alguna manera de hacer eso con matrices?
¡Gracias!
Por aquí...
puede aprender sobre Object.fromEntries()
const dataArr2 = [ [ "firstName", "bob"] , [ "lastName", "smith"] , [ "address", "123 Main St"] ] let obj = Object.fromEntries( dataArr2 ) console.log( obj.firstName ) // bob console.log( obj.lastName ) // smith console.log( obj.address ) // 123 Main St
Hay varias formas de hacerlo. Por favor revise los ejemplos dados a continuación.
const personArr = [ ["firstName", "bob"], ["lastName", "smith"], ["address", "123 Main St"], ]; console.log(new Map(personArr)); console.log(Object.fromEntries(personArr)); function toObject(arr = []) { return arr.reduce((acc, [key, value]) => { acc[key] = value; return acc; }, {}); } console.log(toObject(personArr)); const { firstName, lastName, address } = toObject(personArr); console.log(firstName, lastName, address);