con fines de aprendizaje, quiero eliminar solo la PRIMERA letra 'a' de una cadena usando una función. Sin embargo, mi función elimina TODAS las letras 'a' de la cadena dada.
function removeFirstLetterA(str) { let letterA = 'a'; for (let i = 0; i < str.length; i++) { if (str[i] === letterA) { str = str.replace(letterA, ''); } } return str; }¿Alguien puede ver mi error y darme algún consejo?
El error es que no te detienes cuando te cruzas y borras la primera letra. Dentro del bloque if, puede break el bucle para que no continúe después de eliminar el primero.
... if (str[i] === letterA) { str = str.replace(letterA, ''); break; } ...Por cierto, no necesitas un bucle para eliminar la primera coincidencia. Reemplazar ya hace eso. Esto sería suficiente:
function removeFirstLetterA(str) { return str.replace('a', ''); }