JavaScript - que se muestre por consola la posición de cada letra en el abecedario

 
Vista:
Imágen de perfil de Luis

que se muestre por consola la posición de cada letra en el abecedario

Publicado por Luis (4 intervenciones) el 10/07/2021 23:08:11
Tengo se hacer este ejercicio, si alguien me puede decir como lo haría o mostrarme un ejemplo le agradezco:

Dado el siguiente string "Luis Rafael Montilla Labrador" hacer que se muestre por consola la posición de cada letra en el abecedario por ejemplo.
L: 12
u: 22
i: 9
s: 20
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Gio
Val: 368
Bronce
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

que se muestre por consola la posición de cada letra en el abecedario

Publicado por Gio (79 intervenciones) el 12/07/2021 08:19:01
Hola Luis, el código que buscas es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function posicionABC(texto, español=true){
    let textoMayus=texto.toUpperCase().split("");
    texto=texto.split("")
    let l=texto.length
 
    if(español){
        for(i in texto){
            let pos=textoMayus[i].charCodeAt()-64
            if(pos>0&&pos<15) console.log(texto[i]+": "+(pos))
            else if(pos>14&&pos<27) console.log(texto[i]+": "+(pos+1))
            else if(pos===145) console.log(texto[i]+": 15")
        }
    } else {
        for(i in texto){
            let pos=textoMayus[i].charCodeAt()-64
            if(pos>0&&pos<27) console.log(texto[i]+": "+(pos))
        }
    }
}


Un ejemplo de uso con el abecedario español (que incluye la letra "ñ") sería el siguiente:

1
posicionABC("Luis Rafael Montilla Labrador");


En consola te saldrá:

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
L: 12
u: 22
i: 9
s: 20
R: 19
a: 1
f: 6
a: 1
e: 5
l: 12
M: 13
o: 16
n: 14
t: 21
i: 9
l: 12
l: 12
a: 1
L: 12
a: 1
b: 2
r: 19
a: 1
d: 4
o: 16
r: 19



Un ejemplo con el abecedario ingles (que NO incluye la letra "ñ") sería el siguiente:

1
posicionABC("Luis Rafael Montilla Labrador", false);
Si te fijas, se pone en false el segundo parámetro de la función para deshabilitar el abecedario en español y asi activar el abecedario en ingles.


En consola te saldrá:

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
L: 12
u: 21
i: 9
s: 19
R: 18
a: 1
f: 6
a: 1
e: 5
l: 12
M: 13
o: 15
n: 14
t: 20
i: 9
l: 12
l: 12
a: 1
L: 12
a: 1
b: 2
r: 18
a: 1
d: 4
o: 15
r: 18


Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Luis

que se muestre por consola la posición de cada letra en el abecedario

Publicado por Luis (4 intervenciones) el 13/07/2021 14:38:31
muchas gracias por tu respuesta, me pidieron hacerlo desde el arreglo que coloco a continuacion, pero llego aun punto que me estanco:

1
2
3
4
5
6
7
8
9
10
function ubicacionABC(nombre){
	var abc = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","ñ","o","p","q","r","s","t","u","v","w","x","y","z"];
	for (var i = 0; i <= nombre.length; i++) {
		for (var j = 0; j <= abc.length; j++) {
			if (abc[j].toUpperCase() == nombre[i].toUpperCase()) {
				console.log(nombre[i] + ": " + (i+1));
			}
		}
	}
}
ubicacionABC("Luis Rafael Montilla Labrador");

de ahi no se que hacer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

que se muestre por consola la posición de cada letra en el abecedario

Publicado por Alejandro (532 intervenciones) el 13/07/2021 17:58:34
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
¿en que punto te estancas?

Tienes que recorrer la cadena caracter por caracter y usar indexOf para obtener la posición en el array.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

que se muestre por consola la posición de cada letra en el abecedario

Publicado por Dani (6 intervenciones) el 13/07/2021 19:42:44
Si lo tienes casi acabado ¡¡¡
1
2
3
4
5
6
7
8
9
10
11
<script>
        var abc=[" ", "a","b","c","d","e","f","g","h","i","j","k","l","m","n","ñ","o","p","q","r","s","t","y","u","w","x","y","z"]
        var texto ="LuisRafaelMontillaLabradoz";
        arrayTexto=Array.from(texto)
        for (i in texto){
                if(arrayTexto[i]===arrayTexto[i].toUpperCase()){arrayTexto[i]=arrayTexto[i].toLowerCase()}
                for (x in abc){
                      if(abc[x]===arrayTexto[i]){console.log("Letra " + arrayTexto[i] + " = ",abc.indexOf(abc[x]))}
                }
        }
    </script>

acabado ¡¡¡
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gio
Val: 368
Bronce
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

que se muestre por consola la posición de cada letra en el abecedario

Publicado por Gio (79 intervenciones) el 14/07/2021 08:09:36
Ah bien, entiendo lo que quieres hacer, quedaría así:

1
2
3
4
5
6
7
8
9
10
11
function ubicacionABC(nombre){
    nombre=nombre.split("");
    var abc = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","ñ","o","p","q","r","s","t","u","v","w","x","y","z"];
    var pos;
    for (var i = 0; i < nombre.length; i++) {
        pos=abc.indexOf(nombre[i].toLowerCase())+1;
        if(pos){
            console.log(nombre[i] + ": " + pos);
        }
    }
}


Con la función toLowerCase( ) pasas las letras que estén en mayúsculas a minúsculas.

Con la función spril("") conviertes un string en array (ej: "Hola".split("") - > ["H","o","l","a"]), también podrías hacer uso de Array.from(tuString) pero yo siempre uso split porque es mas simple y rápido de usar.

Con la función indexOf( ) buscas la posición donde se encuentra un valor en un array, en este caso, toma un carácter de tu string ingresado y busca su coincidencia en el array donde almacenas el abcdario, la función devuelve la posición donde se encontró dicha coincidencia y si no encontró coincidencia devuelve -1. Por eso yo le sumo 1, para que cuando no encuentre coincidencia, el IF que le continua no se accione porque quiere decir que se está intentando encontrar un digito que no pertenece al abecedario y para que el primer dígito sea igual a 1 y no a 0

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar