Usando el método .replaceAll() en un array de literales de cadena en Javascript
Objetivo: Utilizar un método de array para eliminar las cadenas de texto get
, right
, the
, first
, time
y reemplazarlas con la cadena de texto única “know” en el array secretMessage.
Plan: Definir una función que tome el array original, la cadena antigua y la cadena nueva, y utilizar los métodos .replaceAll()
pasando cada uno de los diferentes argumentos uno por uno, reasignando el array en cada llamada.
Código hasta ahora:
let secretMessage = ['Aprendiendo', 'no', 'se', 'trata', 'de', 'lo', 'que', 'obtienes', 'fácilmente', 'la', 'primera', 'vez,', 'se', 'trata', 'de', 'lo', 'que', 'puedes', 'descubrir', '-2015,', 'Chris', 'Pine,', 'Aprende', 'JavaScript'];
function replaceWords(originalArray, oldString, updatedString) {
let updatedArray = originalArray.replaceAll(oldString, updatedString); // No estoy seguro si necesito envolver esto en []
return updatedArray;
}
secretMessage = replaceWords(secretMessage, 'get', 'know');
secretMessage = replaceWords(secretMessage, 'right', 'know');
secretMessage = replaceWords(secretMessage, 'the', 'know');
secretMessage = replaceWords(secretMessage, 'first', 'know');
secretMessage = replaceWords(secretMessage, 'time', 'know');
console.log(secretMessage);
Resultados actuales
let updatedArray = originalArray.replaceAll(oldString, updatedString);
^
TypeError:
originalArray.replaceAll no es una función en reemplazarPalabras.
davy.ai
Plan Actualizado
En lugar de utilizar el método
.replaceAll()
, recorre el array y utiliza el método.replace()
para cada cadena que se debe reemplazar. Vuelve a asignar el array original con el array actualizado después de cada reemplazo.Código Actualizado
Resultados Actualizados