He estado atascado en este problema durante más de 6 horas. Empecé a aprender JavaScript hace unos meses, hasta ahora todo bien, pero no puedo resolver este.
const arrHeader["name","street","city","state","zip","phone","fax","custom"];objeto de la siguiente manera
const obj = { zip: "01001" phone: "77894644" city: "Albany", state: NY, name: "John", street: "123 Main St" custom: "best user" fax: "" };¿Es posible obtener la salida como una matriz (no una matriz/objeto asociado) ordenada en función de arrHeader? la longitud de la matriz/objeto es la misma. Tenga en cuenta que en blanco para fax, el índice en el resultado debe corresponder a arrHeader, incluso si el valor es nulo. Que tú. Cualquier sugerencia es apreciada.
La salida debe verse como para el objeto dado. No estoy seguro si " " es mejor mantener el índice igual.
var result["John","123 Main St","Albany","NY","01001","77894644"," ","best user"];Gracias.
Si entiendo correctamente, parece que desea realizar una operación de mapeo en su matriz con .map() . Esto le permitirá tomar cada elemento de arrHeader y asignarlo a su valor de su obj usando el elemento como clave obj[key] :
const arrHeader = ["name","street","city","state","zip","phone","fax","custom"]; const obj = { zip: "01001", phone: "77894644", city: "Albany", state: "NY", name: "John", street: "123 Main St", custom: "best user", fax: "" }; const res = arrHeader.map(key => obj[key]); console.log(res);Encuentre la implementación Array.reduce de su requisito.
const arrHeader = ["name","street","city","state","zip","phone","fax","custom"]; const obj = { zip: "01001", phone: "77894644", city: "Albany", state: "NY", name: "John", street: "123 Main St", custom: "best user", fax: "" }; const result = arrHeader.reduce((acc, curr) => { acc.push(obj[curr]); return acc; }, []); console.log(result); Implementación Array.map
const arrHeader = ["name","street","city","state","zip","phone","fax","custom"]; const obj = { zip: "01001", phone: "77894644", city: "Albany", state: "NY", name: "John", street: "123 Main St", custom: "best user", fax: "" }; const result = arrHeader.map((node) => obj[node]) console.log(result);