Ceci est mon tout premier projet JavaScript. Ce que j'essaie de faire, c'est quand l'utilisateur entre dans un nom de nom, par exemple "Blake", il produira "Bravo Lima Alpha Kilo Echo". Donc, quel que soit l'utilisateur entrant, il diffuse quelle que soit chaque variable de lettre égale à.Je a ajouté une image pour mieux expliquer ce dont je parle. Je comprends aussi comment quand quelqu'un entre dans un nom de nom sous une forme qu'elle génère un nom. Mais je ne suis pas sûr de savoir comment vous pouvez générer une variable égale à chaque lettre de son nom.
p> <div id="test">
</div>
5 Réponses :
Je voudrais utiliser une combinaison de .split () , Array .map () et Array .Join ()
Depuis que vous avez dit que vous êtes nouveau à JS, je vous dirigerais également de choisir Fonctions de la flèche que j'ai utilisées comme le p> .map () code> rappel. P>
<div id="test">
</div>
Je devrai comprendre comment je peux attacher ce code avec une forme lol ... mais je pense que vous avez peut-être au moins cette partie de cela. Merci
J'ai édité ma réponse pour inclure une étape qui la convertit en majuscule en premier, car vous acceptez les commentaires des utilisateurs
Vous aurez besoin de boucler dans l'entrée code> code> et de définir la valeur dans la DIV. Laissez supposer, html: p> entrée code> est code> ID code> de votre entrée code> code> où vous entrez le nom.
var data = {
A: "Alpha",
B: "Bravo",
C: "Charlie",
D: "Delta",
E: "Echo",
F: "Foxtrot",
G: "Golf",
H: "Hotel";,
I: "India",
J: "Juliett",
K: "Kilo",
L: "Lima",
M: "Mike",
N: "November",
O: "Oscar",
P: "Papa",
Q: "Quebec",
R: "Romeo",
S: "Sierra",
T: "Tanga",
U: "Uniform",
V: "Victor",
W: "Whiskey",
X: "X-ray",
Y: "Yankee",
Z: "Zulu"
}
document.getElelementById("input").addEventListener("change", function() {
const input = this.value;
let name = "";
for(let i = 0; i < input.length; i++){
name = `${name} ${data[input[i].toUpperCase()]}`;
}
document.getElementById("test").innerHTML = name;
})
Here the catch would be how should we able to get the variable value after splitting the work entered in the input.. Use eval('Z') which would evaluate that as a JS code , in this case a variable <code> var name = "Blake"; var A = "Alpha"; var B = "Bravo"; var C = "Charlie"; var D = "Delta"; var E = "Echo"; var F = "Foxtrot"; var G = "Golf"; var H = "Hotel"; var I = "India"; var J = "Juliett"; var K = "Kilo"; var L = "Lima"; var M = "Mike"; var N = "November"; var O = "Oscar"; var P = "Papa"; var Q = "Quebec"; var R = "Romeo"; var S = "Sierra"; var T = "Tanga"; var U = "Uniform"; var V = "Victor"; var W = "Whiskey"; var X = "X-ray"; var Y = "Yankee"; var Z = "Zulu"; var nameArr = name.split(""); var output=""; for(var xx=0;xx<nameArr.length;xx++){ console.log(nameArr[xx]); output+=eval(nameArr[xx].toUpperCase())+" "; } console.log(output); // Assign this value to a ID using innerHTML function </code>
Au lieu d'avoir chaque code comme nouvelle variable, vous pouvez par exemple utiliser un tableau (mieux serait une carte), puis vérifiez chaque lettre du nom Type de vérification si le tableau a un mot qui commence par cette lettre. , quelque chose comme ce qui suit:
p>
<input type="text" id="input" /> <div id="test"></div>
Intéressant, je viens d'apprendre sur les variables et j'avais juste pensé que vous pouvez définir des variables sur l'égalité desquelles vous les définissez. Donc, j'ai alors pensé que vous pouviez implémenter cela dans une forme.
Vous pouvez les définir sur n'importe quoi, mais dans votre cas, vous serez mieux servi avec une structure de données telle qu'un mappe code>
qui contient des paires de la valeur de clé. Donc, comme "un" => "alpha".
Code simple sans changer votre code
html: p> javascript: p>