Saltar al contenido

Compruebe si hay caracteres repetidos en un string JavaScript

Después de consultar con especialistas en el tema, programadores de varias ramas y maestros dimos con la respuesta a la cuestión y la plasmamos en este post.

(Se puede encontrar una solución recursiva al final de esta respuesta).

Podría usar las funciones de matriz incorporadas de javascript algunos MDN alguna referencia

 var text = "test".split("");
 text.some(function(v,i,a)
   return a.lastIndexOf(v)!=i;
 );

parámetros de devolución de llamada:
v valor actual de la iteración
I índice actual de la iteración
a Actual array

.separar(“”) crear un array a partir de una string
.some(función(v,i,a) … ) pasa por un array hasta la función returns true, y termina de inmediato. (no recorre todo el arraysi encuentra una coincidencia antes)

Detalles a la algunos la función se puede encontrar aquí

Pruebas, con varias cadenas:

var texts = ["test", "rest", "why", "puss"];


for(var idx in texts)
    var text = texts[idx].split("");
    document.write(text + " -> " + text.some(function(v,i,a)return a.lastIndexOf(v)!=i;) +"
"); //tested on win7 in chrome 46+

Si se necesita recursividad.

Actualización para recursividad:

//recursive function
function checkString(text,index)
    if((text.length - index)==0 ) //stop condition
        return false; 
    else
        return checkString(text,index + 1) 
        


// example Data to test
var texts = ["test", "rest", "why", "puss"];

for(var idx in texts)
    var txt = texts[idx];
    document.write( txt +  " ->" + checkString(txt,0) + "
"); //tested on win7 in chrome 46+

Esto lo hara:

function isIsogram (str) 
    return !/(.).*1/.test(str);

puedes usar .indexOf() y .lastIndexOf() para determinar si un índice se repite. Es decir, si la primera aparición del carácter es también la última aparición, entonces sabes que no se repite. Que no trueluego se repite.

var example = 'hello';

var charRepeats = function(str) 
    for (var i=0; i

Te mostramos reseñas y calificaciones

Si guardas alguna indecisión o disposición de enriquecer nuestro sección te proponemos ejecutar una crítica y con gusto lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *