Saltar al contenido

cómo devolver nada (matriz vacía) con la función array.map

Solución:

Utilice Array.prototype.filter:

Copy.names = rule.names.filter(function(x) {                                
    return x.name !=='Everything';
}).map(function (x) {
    return x.name;
});

Otra solución con Array.filter ():

names.map(
  (x) => x.name === 'Everything' && x.name
).filter(Boolean)

Si puede usar Lodash (que recomiendo encarecidamente), puede manejarlo de manera elegante usando _.flatMap:

Copy.names = _.flatMap(rule.names, function(x) {
    if (x.name ==='Everything') {                                   
        return [];
    } else {
        return [x.name];
    }
})

Como puede ver, es similar a map, excepto que devuelve una matriz de elementos en lugar de un elemento.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *