Estoy tratando de filtrar esto
Alert me when this account's current balance goes above $1.
de la lista aquí:
alertTypes = [ 'Alert me when this account's available balance goes below $1.', 'Alert me when this account's current balance goes below $1.', 'Alert me when this account's available balance goes above $1.', 'Alert me when this account's current balance goes above $1.']Usando esta función asíncrona
const alertRegEx = "/.*current balance.*above.*/" const alert = alertTypes.filter(alert => alert.match(alertRegEx))Pero estoy obteniendo la lista completa en la variable de alerta . ¿Cuál es mi error aquí?
En primer lugar, no use async en este caso, ya que match no es una función asíncrona ( pero incluso si lo fuera, no podría usarla en un filter ). Entonces necesita usar una expresión regular literal, no una cadena.
Y un cambio menor, no requerido, es que puede omitir el inicial y el final .*
const alertTypes = [ 'Alert me when this account's available balance goes below $1.', 'Alert me when this account's current balance goes below $1.', 'Alert me when this account's available balance goes above $1.', 'Alert me when this account's current balance goes above $1.'] const alertRegEx = /current balance.*above/; const alerts = alertTypes.filter( alert => alert.match(alertRegEx)) console.log(alerts);