@parzibyte/

PrimeraQueNoSeRepiteJS

Nodejs

No description

fork
loading
Files
  • index.js
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const primeraLetraQueNoSeRepite = cadena => {
	// A minúscula porque todas deben estar en la misma notación
	let cadenaEnMinuscula = cadena.toLowerCase();
	// Recorrer cadena letra por letra
	for (let x = 0; x < cadena.length; x++) {
		// Obtener carácter actual, y convertirlo a minúscula
		let caracterActual = cadena.charAt(x).toLowerCase();
		// Ver si primera aparición y última aparición son iguales
		if (cadenaEnMinuscula.indexOf(caracterActual) === cadenaEnMinuscula.lastIndexOf(caracterActual)) {
			// En caso de que sí, regresamos el carácter de la cadena original en la posición que vamos
			return cadena.charAt(x);
		}
	}
	// Terminamos de recorrer la cadena pero no encontramos ninguna letra que no se repitiera, así que regresamos cadena vacía
	return "";
}

const pruebas = [
	"Hola",
	"Ejemplo",
	"AAAAAAAA",
	"parzibyte",
	"osos",
	"bBbbBbbBB",
	"abcdeabcde",
	"abcab",
	"Me gusta mucho programar en JavaScript",
	// Algo de Elvis Presley solamente para experimentar
	"Baby, if I made you mad For something I might have said Please, let's forget the past The future looks bright ahead A-don't be cruel to a heart that's true I don't want no other love A-baby, it's still you I'm thinking of, mm",
];

pruebas.forEach(prueba => {
	console.log(`Primera letra que no se repite en '${prueba}': '${primeraLetraQueNoSeRepite(prueba)}'`);
});
node v10.16.0