tengo esta matriz
(2) ['principiante=principiante', 'hojas=salir']
y esta cadena
su principiante en los sonidos deja
que he convertido en una matriz
var words = text.split(' '); quiero reemplazar beginner con beginning y leave con leaves , puede ser cualquier palabra dinámica, pero por ahora solo tiene dos elementos que puedo reemplazar dentro del ciclo for. ¿Es posible con el método del mapa?
this.words.map((words, i) => console.log(words));Nota: Solo se debe reemplazar la primera instancia.
alguna solucion gracias
¿Esto es correcto con tu pregunta?
const arrString = ["beginning=beginner", "leaves=leave", "sound=sounds"]; let string = "its beginner in the sounds leave"; arrString.forEach((mapString) => { const stringArr = mapString.split("="); string = string.replace(stringArr[1], stringArr[0]); }); console.log("string", string); // "its beginning in the sound leaves"También puede hacerlo sin un bucle anidado si se compromete con el espacio.
Aquí hay una solución que crea un objeto de mapeo para valores de reemplazo y usa métodos de matriz como map() , forEach() , join() y métodos de cadena como split()
const arrString = ["beginning=beginner", "leaves=leave", "sound=sounds"]; let string1 = "its beginner in the sounds leave beginner"; const replaceObj = {}; const arrBreaks = arrString.forEach(x => { let els = x.split("="); replaceObj[els[1]] = els[0]; }); const ans = string1.split(' ').map((x) => { if(x in replaceObj) { let val = replaceObj[x]; delete val; return val; } return x; }).join(' '); console.log(ans);