Tengo una variable que recopila una matriz de cadenas y quiero validar como: si la matriz contiene una cadena con la palabra "x", agregue el ejemplo "y":
Así que traté de hacer algo como: si mi "grado/curso" es "Prekinder", entonces agregue "PE-"+RNG (el último se configura manualmente) pero obtuve 2 fallas, este fue mi intento:
const register = (e) => { e.preventDefault(); let id = Math.floor(Math.random() * (99999 + 1)); console.log(grado) const docId = "fail2"; if (grado.contains == "Prekínder-3" || grado.contains == "Prekínder" || grado.contains == "Kínder"){ docId = `PE-`+id; } .......... Some smart code that is not relevant for this }Cualquier ayuda/consejo/documentación es bienvenida.
Actualizar Así es como lo hago, la entrada es desde una selección múltiple
<Select className= "SelectMultiple" placeholder = "Seleccionar..." options={multipleGrado} isMulti required onChange={setGrados}y asi es como se ve en firebase
let a = { cantidad: 10, id: "135", grado: ["prekinder-3", "prekinder", "kinder"], }; function check(a) { if ( a.grado.find((element) => { if (element.includes("inder")) { return true; } }) ? true : false ) { a.id = "PE-" + a.id; } console.log(a); } check(a);Espero que te ayude. Find verificará solo un elemento coincidente y devolverá el elemento. filter verificará cada elemento, pero en su caso, find será bueno, supongo. Pruébese usted mismo y vea si puede lograr lo que está intentando.