así que necesito imprimir un valor booleano si la cadena dada contiene [[placeholder:var3]] pero el var3 se alimentará dinámicamente desde una matriz como se muestra a continuación:
const delmethod = ['all', 'email', 'sms', 'fax', 'voice', 'voicemail', 'pager', 'pagerTwoWay']; let languages = organizationLocales.map(a => a.locale); let variabless = alertDetails.variables?.map(k => k.name); languages && languages.length > 0 && languages.map(lang => { delmethod.map(i => { if ( alertDetails.alertMessage?.[${lang}]?.[i]?.variabless?.some(el => [i] === [[placeholder:${el}]]) ) { bodyContainsVariables = true; } }); })Intenté usar el mapa alrededor de los literales de la plantilla, pero me arroja un error que también probé como se indicó anteriormente, por ejemplo, pero solo verifica el primer valor de la matriz, entonces, ¿alguien puede ayudarme a resolver esto? Agradecería cualquier ayuda, gracias de antemano.
actualizando la pregunta con el PS real. organizationLocales es una matriz y alertDetails es un objeto que tiene una matriz de variables, Delmethod es una matriz que se usa para verificar las diferentes propiedades dinámicamente
Debe informar al índice dentro de los literales de la plantilla porque variabless son una matriz como esta:
console.log(s.includes(`[[placeholder:${variabless[2]}]]`));Espero que te ayude.
actualmente está pasando toda la matriz en
s.includes([[placeholder:${variabless}]])
y eso no funcionará, debe especificar qué elemento de la matriz de variables desea inyectar en su cadena, que es un elemento indexado con 2, por lo que debería ser así
s.includes([[placeholder:${variabless[2]}]])
[[placeholder:${variabless}]] produce [[placeholder:var1,var2,var3]] . No comprueba la primera variable. Y no es así como se supone que debe usarse Array.string.includes . Para verificar la coincidencia exacta, use el operador === .
En caso de que desee verificar si alguno de los elementos de la matriz coincide con la cadena, puede usar el método Array.prototype.some que devuelve un valor booleano.
let any = variabless.some(el => s === `[[placeholder:${el}]]`) Si desea encontrar el elemento que coincide con la cadena, use la función Array.prototype.find .