Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

312
Views
¿Cómo refactorizar este código para que funcione (JS)?

El objetivo de este problema es reemplazar cada primera letra de la palabra en un párrafo. Aquí está mi código.

 function isAlphabet(char){ return (/[az]/).test(char); } // TODO: Implement this method function capitalise(paragraph) { if (paragraph.length===1){ return paragraph.toUpperCase(); } paragraph=paragraph.charAt(0).toUpperCase()+paragraph.slice(1); for(let i=2;i<paragraph.length;i++){ if(paragraph[i-1]==' ' && isAlphabet(paragraph[i])){ let char_new=String.fromCharCode(paragraph.charCodeAt(i)-32) paragraph[i] = char_new; } } return paragraph; }

Sin embargo, aparece el siguiente error cuando escribo esta línea de código:

 let char_new=String.fromCharCode(paragraph.charCodeAt(i)-32) paragraph[i] = char_new;

y el error dice:

/sidharthgopalakrishnan-ME_PE_PROGRAMMING_CONSTRUCTS_NEW-bba4832c-4354-4df8-b7e5-b0340a954783/user/Capitalise.js:59 párrafo[i] = char_new; ^ TypeError: no se puede asignar a la propiedad de solo lectura '4' de la cadena 'El rápido zorro marrón salta sobre el perro perezoso'.

Lo que quería saber era ¿qué es TypeError? y ¿qué significa una propiedad de solo lectura? Esto es algo en lo que quiero más información y, por último, ¿qué puedo hacer para que este código funcione en javascript?

Gracias y saludos

Actualización: Esto es lo que probé más:

 function isAlphabet(char) { return /[az]/.test(char); } function capitalise(paragraph) { if (paragraph.length === 1) { return paragraph.toUpperCase(); } let new_para = paragraph.charAt(0).toUpperCase() + paragraph.slice(1); for (let i = 2; i < paragraph.length; i++) { if (paragraph[i - 1] == " " && isAlphabet(paragraph[i])) { // console.log(String.fromCharCode(paragraph.charCodeAt(i) - 32)); let new_para = paragraph.replace( paragraph[i], String.fromCharCode(paragraph.charCodeAt(i) - 32) ); console.log(new_para) } } return new_para; }

Sin embargo, el cambio no se asigna a la variable en la que lo configuré, a través de cada iteración, la primera letra respectiva se pone en mayúscula pero no afecta el estado original. ¿Puede alguien ayudarme con esto más?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!