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

139
Vistas
crea una clave única a partir de 3 alfabetos

Estoy tratando de crear una clave única usando los alfabetos; Me las arreglé para resolverlo, pero realmente no me gusta el enfoque que tomé. y creo que alguien podría ayudarme a obtener una mejor manera de hacer este código. Por favor, hágamelo saber si se le ocurre una idea mejor. o cualquiera que sea tu idea para comparar con la mía? Creo que esta puede ser una buena forma de compartir conocimientos.. Gracias de antemano

 let string = 'ABE'; let ar1 = ["A", "B", "C", "D", "E"]; string = string.split(''); if (string[2] !=='E') { for (let i = 0; i < 5; i++) { if (string[2] === ar1[i]) { i = i+1; string[2] = ar1[i] } } string = string.toString().replace(/,/g, ''); console.log("case 1", string); } else if (string[1] !=='E' && string[2] ==='E') { string[2] ='A'; for (let i = 0; i < 5; i++) { if (string[1] === ar1[i]) { i = i+1; let newString = ar1[i]; console.log(ar1[i]); string[1] = newString; } } string = string.toString().replace(/,/g, ''); console.log("case 2", string); } else if (string[1] ==='E' && string[2] ==='E') { string[1] ='A'; string[2] ='A'; for (let i = 0; i < 5; i++) { if (string[0] === ar1[i]) { i = i+1; string[0] = ar1[i]; } } string = string.toString().replace(/,/g, ''); console.log("case 3", string); }

Los resultados serían como:

si cadena = "AAA" Entonces el resultado "AAB"

si cadena = "AAE" Entonces el resultado será "ABA"

si cadena = "AEE" Entonces el resultado será "BAA"

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede codificar el valor en un valor numérico, como este valor de lugar

 36 6 1 CBA 2 1 0 78

y codifique un valor incrementado con los caracteres y la longitud deseados.

 function decode(value, characters) { const values = Object.fromEntries(Array.from(characters, (v, i) => [v, i])); return value .split('') .reduce((s, v) => s * characters.length + values[v], 0); } function encode(value, characters, length = 0) { let result = ''; do { result = characters[value % characters.length] + result; value = Math.floor(value / characters.length); } while (value); return result.padStart(length, characters[0]); } console.log(decode('AAA', 'ABCDEF')); // 0 console.log(encode(0, 'ABCDEF', 3)); // AAA console.log(encode(1, 'ABCDEF', 3)); // AAB console.log(decode('CBA', 'ABCDEF')); // 78 console.log(encode(78, 'ABCDEF', 3)); // CBA console.log(encode(79, 'ABCDEF', 3)); // CBB

about 4 years ago · Juan Pablo Isaza Denunciar

0

Este enfoque rota cada carácter en una cantidad fija (que podría mejorarse), ignorando los otros caracteres.

 let ar1 = ["A", "B", "C", "D", "E"]; function scramble(str) { let rotation=3; let s = str.split(''); for (let i=0; i<s.length; i++) { s[i]=ar1[(parseInt(s[i],16)+rotation) % ar1.length]; } return s.toString().replace(/,/g, ''); }
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