¿Es posible combinar el filtro y el mapa de Underscore? Actualmente tengo dos llamadas a funciones separadas, pero me pregunto si puedo hacerlas más eficientes al combinarlas en una sola llamada, de alguna manera.¿Cómo lograr la máxima eficiencia con el mapa y el filtro de subrayado?
Básicamente tengo una matriz de nombres de países - Quiero filtrarlos usando una expresión regular, luego correlacionar los resultados filtrados con una matriz de objetos DataItem. Este es mi código actual:
var filteredData = _.filter(allCountries, function(n, i){
var re = RegExp("^" + searchString, "i");
if (re.exec(n['country'].toLowerCase()) !== null) {
return true;
}
});
var mappedData = _.map(filteredData, function(n, i){
return new DataItem(i, n['name'], n['budget']);
});
Cualquier otro consejo para mejorar la eficiencia también será recibido con gratitud.
La cadena es muy preferida para cada –
@itcouldevenbeaboat: puede ser, no uso tanto el guión bajo ... En este caso particular 'cada' parece ser más legible. – georg
Esto no es bueno porque ahora has introducido la variable 'resultado' innecesaria y mutable. Uno puede argumentar que también podría usar un bucle 'for' en este caso. 'cadena' es la forma preferida de ir. – spinningarrow