Estaba tratando de crear una nueva matriz que obtendrá elementos de la matriz "serie". Quiero eliminar elementos menores a 10 y multiplicar elementos mayores a 10. Puedo hacer esto creando dos variables separadas usando filter(), pero ¿es posible hacerlo con una sola variable y una función como solo usando map()? o para cada uno ()?
¿Hay algún método en el que los elementos en el mapa () se arrojen directamente de una manera como element.pop () para que este elemento en particular se elimine sin una matriz vacía mientras se mapean los elementos? Entonces, para este código, puedo eliminar el elemento si es menor que 10 y multiplicarlo si es mayor que 10
let serie = [7,4,9,12,18,21]; var newSerie = serie.map(function(element){ if(element>10) { return element*10; }else{ return element; } if(element<10){ newSerie.splice(serie.indexOf(element),1); } }) console.log(newSerie);Use .filter para eliminar elementos, luego aplique la acción necesaria en ellos usando .map
let serie = [7, 4, 9, 12, 18, 21]; const result = serie.filter(x => x > 10).map(x => x * 10) console.log(result)O de una vez usando .reduce
const result = serie.reduce((acc, x) => { if (x >= 10) { acc.push(x * 10) } return acc; }, []);