Estoy tratando de procesar datos de una API. (No tengo control sobre la salida de la API). Aquí hay un ejemplo del código:
const json = [ { c: [ { v: 'Product 1' }, { v: '1234102' }, { v: 'IN STOCK' }, null, { v: 'Access From All Warehouses' }, ], }, { c: [ { v: 'Product 2' }, { v: '1234608' }, { v: 'OUT OF STOCK' }, { v: '6/2022' }, { v: 'Access From All Warehouses' }, ], }, { c: [{ v: 'Category Name' }, null, null, null, { v: null }] }, { c: [ { v: 'Product 3' }, { v: '1234942' }, { v: 'OUT OF STOCK' }, { v: 'No ETA ' }, { v: 'Access From All Warehouses' }, ], }, ]; const result = json.map((row) => { return { name: row.c[0].v, sku: row.c[1].v, inventory: row.c[2].v, eta: row.c[3].v, access: row.c[4].v, }; }); console.log(result);Cuando llego al nombre de la categoría o un producto al que le falta información, la función de mapa da un error de "No se pueden leer las propiedades de nulo". ¿Cuál es una buena solución para evitar ese problema?
He intentado usar algo como:
sku: row.c[1].v || '',pero eso no ayudó.
Intente usar el encadenamiento opcional :
sku: row.c[1]?.v || '',