La tarea es la siguiente: en input hay algunas letras en inglés que quiero reemplazar por valores ubicados en jap y poner en outputArr según el diccionario en eng (misma posición).
Pero realmente no entiendo cómo hacer ese bucle/si para que funcione.
<script> var input = "agde"; var inputArr = input.split(''); var outputArr = []; var eng= ["a","b","c","d","e","f","g"]; var jap = ["あ","び","を","ご","で","え","よ"];Primero combine eng y jap en una tabla de búsqueda (un objeto simple):
var eng = ["a","b","c","d","e","f","g"]; var jap = ["あ","び","を","ご","で","え","よ"]; var translation = Object.fromEntries(eng.map((letter, i) => [letter, jap[i]])); // Now translate an example input var input = "agde"; var output = Array.from(input, letter => translation[letter]).join(""); console.log(output);Puede mapear la matriz y usar el método indexOf de Arrays para encontrar el índice del alfabeto inglés y usarlo contra la matriz jap
var input = "agde"; var eng= ["a","b","c","d","e","f","g"]; var jap = ["あ","び","を","ご","で","え","よ"]; const getJapOut = ([...input]) => [...input].map(value => jap[eng.indexOf(value)]) console.log(getJapOut(input));Puede utilizar la función indexOf para obtener el índice correspondiente, acceder a él a través de [] y map el resultado a su outputArr :
var eng = ["a", "b", "c", "d", "e", "f", "g"]; var jap = ["あ", "び", "を", "ご", "で", "え", "よ"]; var input = "agde"; var inputArr = input.split(""); const outputArr = inputArr.map((char) => jap[eng.indexOf(char)]); console.log(outputArr);