Pregunta básica, pero es algo que nunca he entendido del todo con estos métodos de matriz.
Digamos que tengo una matriz como:
[[ 'PENNY', 0 ],[ 'NICKEL', 0 ],[ 'DIME', 20 ],[ 'QUARTER', 50 ]]y quería usar el filtro para devolver una nueva matriz en la que solo se devuelven elementos cuyo primer índice es mayor que 0.
Entonces devolvería una matriz como esta:
[ [ 'DIME', 20 ],[ 'QUARTER', 50 ]].¿Cómo haría esto usando el filtro? Se agradecería alguna aclaración.
Simplemente use el filter como menciona en la pregunta para comparar si el valor es > de 0 como:
const array = [[ 'PENNY', 0 ],[ 'NICKEL', 0 ],[ 'DIME', 20 ],[ 'QUARTER', 50 ]]; console.log(array.filter(el => el[1] > 0));Referencia:
Filtrar por el segundo elemento:
const array = [[ 'PENNY', 0 ],[ 'NICKEL', 0 ],[ 'DIME', 20 ],[ 'QUARTER', 50 ]]; const filtered = array.filter(([, count]) => count > 0); console.log(filtered); [, count] se está desestructurando, sobre lo que puede leer en su totalidad aquí
const array = [[ 'PENNY', 0 ],[ 'NICKEL', 0 ],[ 'DIME', 20 ],[ 'QUARTER', 50 ]] const arrayFiltered = array.filter((item) => item[1] > 0) console.log(arrayFiltered)El método filter() devuelve una nueva matriz basada en la regla que especifica dentro. En este caso, queremos que una nueva matriz con el elemento [1] (el índice de nuestra matriz) sea > 0.