Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

120
Vistas
Agregar método a la cadena prototipo pero quiere decir este método

Estoy tratando de entender lo que esto significa?
Lo que estoy pensando es que la phrase pasará una parte de la matriz, por lo que en este caso es phrase.palindrome eve Ese método lo tomará y lo ejecutará. Primero, var len toma eve y elimina 1 usando la length -1. Esto da como resultado que a var len se le asigne el número dos ya que la longitud de eve es 3. Ahora for está en uso, por lo que var i = 0; i <= len/2; i++ .
ahora se convierte en var i = 1 ; 1 <= 1; i++ "es esto correcto"
no entiendo que pasa aqui:

 for (var i = 0; i <= len/2; i++) { if (this.charAt(i) !== this.charAt(len-i)) { return false;

Aquí está todo el código:

 String.prototype.palindrome = function() { var len = this.length-1; for (var i = 0; i <= len/2; i++) { if (this.charAt(i) !== this.charAt(len-i)) { return false; } } return true; }; var phrases = ["eve", "kayak", "mom", "wow", "Not a palindrome"]; for (var i = 0; i < phrases.length; i++) { var phrase = phrases[i]; if (phrase.palindrome()) { console.log("'" + phrase + "' is a palindrome"); } else { console.log("'" + phrase + "' is NOT a palindrome"); } }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

El código esencialmente itera a través de la cadena desde ambas direcciones, comparando el primer y el último carácter (índices 0 y len), luego el segundo desde el primero y el segundo desde el último y así sucesivamente hasta llegar al medio. Una palabra es un palíndromo si y solo si el primer y el último carácter son los mismos y el penúltimo y el penúltimo carácter son los mismos y así sucesivamente.

Tenga en cuenta que hay algo muy mal con este código. Si bien es técnicamente posible mutar los prototipos de los tipos incorporados en Javascript, nunca, nunca, nunca debes hacerlo. No obtiene ninguna funcionalidad que no obtendría de una función normal, mientras viola gravemente el principio de menor sorpresa. Trate todos los tipos de otras bibliotecas, incluidas las integradas, como si estuvieran cerradas para modificación y abiertas para extensión.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que esta línea tiene error:

 for (var i = 0; i <= len/2; i++) {

Porque a veces la longitud puede ser 3,5,7... y eso puede ser un problema.

Agregué algunos usando ejemplos:

 for (var i = 0; i <= Math.floor(len / 2); i++) {
 // That same thing with floor in positive numbers, but in negative numbers that works like ceil. for (var i = 0; i <= ~~(len / 2); i++) {
 // That same thing with floor, we can think like this pollyfill of floor. for (var i = 0; i <= ~~(len / 2) + (Math.abs(len)>len?-1:0); i++) {
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda