let output ="I am a string" const app=output.split("") console.log(app)// salida (13) [ "I", " ", "a", "m", " ", "a", " ", "s", "t", "r", "i", "n ", "G"]
entonces necesita cambiar por letra a la siguiente en orden alfabético
lo que significa
"j","b","n","b,","t","u","s","j","o","h"
después de eso, la cadena debe escribirse como ; "jbnbtusjoh"
alguna opinion?
Bien, entonces hagamos esto paso a paso:
// first the string let out = "I am a string" // convert to array let arOut = out.split("") // gives ["I"," ", "a", "m", " ", "a"....] // now lets get cracking : let mapped = arOut.map(element => element == ' ' ? element : String.fromCharCode(element.charCodeAt(0)+1)) // this get char code of element and then adds one and gets equivalent char ignores space let newOut = mapped.join("") // we have our result console.log(newOut)Después de dividir, asigne la matriz de caracteres, convierta cada uno en código (si no es un espacio), agregue uno y vuelva a convertir el código en un carácter:
const output = 'I am a string' const result = output.split('') .map(c => c === ' ' ? c // ignore spaces : String.fromCharCode(c.charCodeAt(0) + 1) // convert char to code, add one, and convert back to char ) .join('') // if you need a string console.log(result) También puede usar Array.from() para convertir directamente la cadena en una matriz de los caracteres transformados:
const output = 'I am a string' const result = Array.from( output, c => c === ' ' ? c : String.fromCharCode(c.charCodeAt(0) + 1) ).join('') console.log(result)¿Por qué no convertir cada carácter en ASCII y luego simplemente incrementar el número?