ค้นหาเว็บไซต์

จาวาสคริปต์ - แปลงสตริงเป็นอักษรเบรลล์


ฉันกำลังทำคำสั่งใน 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("") อาจปรับปรุงได้ด้วย ฉันจะดีใจถ้ามีใครสักคนมีความคิดเห็นเกี่ยวกับเรื่องนั้น

สตริงเบรลล์ที่ถูกดึงมาจากหน้าวิกิพีเดียบราล์เอสกีไอ

บทความที่เกี่ยวข้อง