我想让一个垂直数组在discord.js中成为一个垂直数组这应该是水平发送区域字母的文本,但它是垂直发送的。我检查了stackoverflow,但我没有找到任何关于我想做的事情,所以如果你能帮我解决这个问题,那就太好了。
下面是我的代码:
var Letters = {
a:":regional_indicator_a:",
b:":regional_indicator_b:",
c:":regional_indicator_c:",
d:":regional_indicator_d:",
e:":regional_indicator_e:",
f:":regional_indicator_f:",
g:":regional_indicator_g:",
h:":regional_indicator_h:",
i:":regional_indicator_i:",
j:":regional_indicator_j:",
k:":regional_indicator_k:",
l:":regional_indicator_l:",
m:":regional_indicator_m:",
n:":regional_indicator_n:",
o:":regional_indicator_o:",
p:":regional_indicator_p:",
q:":regional_indicator_q:",
r:":regional_indicator_r:",
s:":regional_indicator_s:",
t:":regional_indicator_t:",
u:":regional_indicator_u:",
v:":regional_indicator_v:",
w:":regional_indicator_w:",
x:":regional_indicator_x:",
y:":regional_indicator_y:",
z:":regional_indicator_z:"
};
let args = message.content.split(" ").slice(1);
let data = args.slice(0).join(" ");
var chars = data.split('');
function getRegional(letter){
if(letter === "a" || letter === "A"){ return Letters.a; }
if(letter === "b" || letter === "B"){ return Letters.b; }
if(letter === "c" || letter === "C"){ return Letters.c; }
if(letter === "d" || letter === "D"){ return Letters.d; }
if(letter === "e" || letter === "E"){ return Letters.e; }
if(letter === "f" || letter === "F"){ return Letters.f; }
if(letter === "g" || letter === "G"){ return Letters.g; }
if(letter === "h" || letter === "H"){ return Letters.h; }
if(letter === "i" || letter === "I"){ return Letters.i; }
if(letter === "j" || letter === "J"){ return Letters.j; }
if(letter === "k" || letter === "K"){ return Letters.k; }
if(letter === "l" || letter === "L"){ return Letters.l; }
if(letter === "m" || letter === "M"){ return Letters.m; }
if(letter === "n" || letter === "N"){ return Letters.n; }
if(letter === "o" || letter === "O"){ return Letters.o; }
if(letter === "p" || letter === "P"){ return Letters.p; }
if(letter === "q" || letter === "Q"){ return Letters.q; }
if(letter === "r" || letter === "R"){ return Letters.r; }
if(letter === "s" || letter === "S"){ return Letters.s; }
if(letter === "t" || letter === "T"){ return Letters.t; }
if(letter === "u" || letter === "U"){ return Letters.u; }
if(letter === "v" || letter === "V"){ return Letters.v; }
if(letter === "w" || letter === "W"){ return Letters.w; }
if(letter === "x" || letter === "X"){ return Letters.x; }
if(letter === "y" || letter === "Y"){ return Letters.y; }
if(letter === "z" || letter === "Z"){ return Letters.z; }
if(letter === " "){ return ' '; }
}
var LettersToSend = [];
chars.forEach(element => {
console.log('Lettre: ' + element)
console.log('Regional letter: ' + getRegional(element))
LettersToSend.push(getRegional(element));
});下面是输出:

我希望你能帮助我。
谢谢。
发布于 2020-07-19 10:51:04
这段代码应该可以为您工作。
function exec(message) {
var hash = {
a: ":regional_indicator_a:",
b: ":regional_indicator_b:",
c: ":regional_indicator_c:",
d: ":regional_indicator_d:",
e: ":regional_indicator_e:",
f: ":regional_indicator_f:",
g: ":regional_indicator_g:",
h: ":regional_indicator_h:",
i: ":regional_indicator_i:",
j: ":regional_indicator_j:",
k: ":regional_indicator_k:",
l: ":regional_indicator_l:",
m: ":regional_indicator_m:",
n: ":regional_indicator_n:",
o: ":regional_indicator_o:",
p: ":regional_indicator_p:",
q: ":regional_indicator_q:",
r: ":regional_indicator_r:",
s: ":regional_indicator_s:",
t: ":regional_indicator_t:",
u: ":regional_indicator_u:",
v: ":regional_indicator_v:",
w: ":regional_indicator_w:",
x: ":regional_indicator_x:",
y: ":regional_indicator_y:",
z: ":regional_indicator_z:"
};
var msg = "";
var letters = args.join(" ");
function getRegional(letter) {
return (letter === " " ? " " : hash[letter])
}
for (i = 0; i < letters.length; i++) {
msg += getRegional(letters[i])
}
console.log(msg)
}
let msg = {
content: '!regional two three'
}
let [command, ...args] = msg.content.slice(1).split(/\s+/g)
exec(args)运行这段代码会为我返回以下代码(我假设这就是您想要的)
:regional_indicator_t::regional_indicator_w::regional_indicator_o: :regional_indicator_t::regional_indicator_h::regional_indicator_r::regional_indicator_e::regional_indicator_e:发布于 2020-07-19 23:55:11
以下是您的代码的优化版本,应该会给出正确的结果。
任何不是字母的字符都将替换为空格。
let args = message.content.split(' ').slice(1);
let data = args.slice(0).join(' ');
let chars = data.split('');
function getRegional(letter) {
return (!/^[a-zA-Z]$/g.test(letter))? ' ' :
`:regional_indicator_${ letter.toLowerCase() }:`;
}
let lettersToSend = [];
lettersToSend = chars.map(element => {
console.log('Letter: ' + element);
console.log('Regional letter: ' + getRegional(element));
return getRegional(element);
});
message.channel.send(lettersToSend.join(' '));发布于 2020-07-20 00:06:05
嗯,你可以只检查属性,而不是做那么多的if。variable.property也可以写成variable['propery'],不同之处在于你可以添加变量。因此,在getRegional(letter)中,您可以检查您传递的属性。if(!Letters[letter]) return ' ';。然后对属性执行return操作。
var Letters = {
a: ":regional_indicator_a:",
b: ":regional_indicator_b:",
c: ":regional_indicator_c:",
d: ":regional_indicator_d:",
e: ":regional_indicator_e:",
f: ":regional_indicator_f:",
g: ":regional_indicator_g:",
h: ":regional_indicator_h:",
i: ":regional_indicator_i:",
j: ":regional_indicator_j:",
k: ":regional_indicator_k:",
l: ":regional_indicator_l:",
m: ":regional_indicator_m:",
n: ":regional_indicator_n:",
o: ":regional_indicator_o:",
p: ":regional_indicator_p:",
q: ":regional_indicator_q:",
r: ":regional_indicator_r:",
s: ":regional_indicator_s:",
t: ":regional_indicator_t:",
u: ":regional_indicator_u:",
v: ":regional_indicator_v:",
w: ":regional_indicator_w:",
x: ":regional_indicator_x:",
y: ":regional_indicator_y:",
z: ":regional_indicator_z:"
};
let args = message.content.split(" ").slice(1);
let data = args.slice(0).join(" ");
var chars = data.split('');
function getRegional(letter) {
if(!Letters[letter.toLowerCase()]) return ' '; // If property doesn't exist return ''
return Letters[letter.toLowerCase()]; // If it does, return it.
}
var LettersToSend = [];
chars.forEach(element => {
console.log('Lettre: ' + element)
console.log('Regional letter: ' + getRegional(element))
LettersToSend.push(getRegional(element));
});
message.channel.send(LettersToSend.join('')); // Send it in a single String.希望这段代码能帮上忙,让它变得更容易。
https://stackoverflow.com/questions/62971510
复制相似问题