【发布时间】:2022-01-21 18:06:30
【问题描述】:
var xboxConverter = {
"1" : "Up",
"2" : "Down",
"3" : "Down Foward",
"4" : "Backward",
"5" : "Standing",
"6" : "Forward",
"7" : "Up Backward",
"8" : "Up",
"9" : "Up Foward",
"236S": "Quarter Circle Special",
",": " ",
"H" : "B",
"M": "Y",
"L": "X",
"S": "A",
"2" : "Down",
"RB" : "RB",
"236" : "Quarter Circle Forward",
"214" : "Quarter Circle Backwards",
"214S" : "Quarter Circle Backwards Special",
};
document.querySelector("textarea").addEventListener("keyup", (e) => {
const input = e.target.value.toUpperCase();
const inputValidated = input.replace(/[^a-zA-Z0-9 ,]/g, "");
const arrOfIns = inputValidated.split(" ");
const arrOfOuts = arrOfIns.map((e) =>
xboxConverter[e] ? xboxConverter[e] : ""
);
if (parseInt.innerText == 236 & 214)
return
const out = arrOfOuts.join(" , ");
document.getElementById("output").innerText = out;
});
为了更好地描述我的意思,如果有人一起输入 236,它应该说“Quarter Circle Forward”,或者如果他们输入 236RT,它应该说“Quarter Circle Forward Right Trigger”。
【问题讨论】:
-
你需要将字符串从最长的键解析为最短的开始,而且
out只是一个字符串,所以out.input没有任何意义。 -
我正在努力学习 javascript
-
没关系,但我必须输入每个字符串“214S”:“Quarter Circle Backwards Special”,有没有让这更容易,他们只需输入 214A 并显示“Quarter Circle Backwards Special”或例如未在 214H 中编码的东西,它会显示“Quarter Circle Backwards Heavy”但不需要像这样对每个字符串进行编码?
-
输入“236”如何输出“Quarter Circle Forward”?我虽然是“四分之一圈”。
-
那么 214 会是什么? 214 表示向后四分之一圆。
标签: javascript arrays sorting