จาวาสคริปต์ - แปลงสตริงเป็นอักษรเบรลล์
ฉันกำลังทำคำสั่งใน Discord ที่แปลงข้อความเป็นเบรลล์ ฉันพบตัวอย่างบางส่วนบนเว็บที่แปลงเป็นสิ่งอื่นเช่นรหัสมอร์สและพยายามแก้ไขมัน แต่ก็ไม่ได้ผลอะไรเลย
แนวคิดพื้นฐานคือมันจะรับสตริงหนึ่ง แปลงแต่ละตัวอักษรในสตริงนั้นไปเป็นเบรลล์ที่เทียบเท่า และส่งออกมาเป็นผลลัพธ์
ความช่วยเหลือใด ๆ จะยอดเยี่ยมมาก ขอบคุณ <3
คำตอบ #1
1 บรรทัดในจาวาสคริปต์
string.toUpperCase().split("").map(c => "⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿"[" A1B'K2L@CIF/MSP\"E3H9O6R^DJG>NTQ,*5<-U8V.%[$+X!&;:4\\0Z7(_?W]#Y)=".indexOf(c)]).join("");
บรรทัดเดียวก็เจ๋ง แต่ที่นี่มีเวอร์ชันที่ดีกว่าของโค้ดเดียวกันเล็กน้อย
let map = " A1B'K2L@CIF/MSP\"E3H9O6R^DJG>NTQ,*5<-U8V.%[$+X!&;:4\\0Z7(_?W]#Y)=".split("").reduce((o, n, i) => {
return o[n] = "⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿"[i],
o[n.toLowerCase()] = o[n], o;
}, {});
function toBraile(string) {
return string.split("").map(c => map[c]).join("");
}
console.log(toBraile("test="));
บางทีการแปลงของ split("") และ join("") อาจปรับปรุงได้ด้วย ฉันจะดีใจถ้ามีใครสักคนมีความคิดเห็นเกี่ยวกับเรื่องนั้น
สตริงเบรลล์ที่ถูกดึงมาจากหน้าวิกิพีเดียบราล์เอสกีไอ
