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)