Estoy extrayendo datos de productos de una API. Para más de la mitad de los productos, el año del producto no existe. En su lugar, devuelve como undefined .
En lugar de mostrar la palabra undefined , me gustaría reemplazarla con una cadena vacía.
Aquí está mi código a continuación:
product.photos.map(() => { let year = ""; if (product.year === undefined) { year = product.year; } // Then output the data output += ` <div class="card"> <img class="img-fluid" src=${product.photos[0].text} alt=${product.model} /> <h3>${product.year} ${product.manufacturer} ${product.model}</h3> <p>${product.hours} hours</p> <a href='https://used.battlefieldequipment.ca/en/${product["group-code"]}/${product["serial-number"]}' class="btn btn-primary">View Details</a> </div> `; });No parece funcionar. ¿Cómo haría para corregir esto?
Creo que deberías usar
product.year = product.year ?? ''en vez de
let year = ""; if (product.year === undefined) { year = product.year; }Podría usar el operador coalescente nulo en línea en su cadena de salida.
product.photos.map(() => { // output the data output += ` <div class="card"> <img class="img-fluid" src=${product.photos[0].text} alt=${product.model} /> <h3>${product.year ?? ''} ${product.manufacturer} ${product.model}</h3> <p>${product.hours} hours</p> <a href='https://used.battlefieldequipment.ca/en/${product["group-code"]}/${product["serial-number"]}' class="btn btn-primary">View Details</a> </div> `; });