Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Chuyển chuỗi sang mã MORSE trong JavaScript

Mã Morse là gì?

Mã Morse là phương pháp dùng trong viễn thông để mã hóa ký tự văn bản thành chuỗi chuẩn hóa của hai độ dài tín hiệu khác nhau, gọi là chấm và gạch.

Để có hàm chuyển chuỗi sang Mã Morse, ta cần object ánh xạ tất cả ký tự (bảng chữ cái Anh) sang Morse. Sau đó duyệt chuỗi và xây dựng chuỗi mới.

Object ánh xạ bảng chữ cái sang Morse:

Bảng mã Morse

const morseCode = {
  "A": ".-",
  "B": "-...",
  "C": "-.-.",
  "D": "-..",
  "E": ".",
  "F": "..-.",
  "G": "--.",
  "H": "....",
  "I": "..",
  "J": ".---",
  "K": "-.-",
  "L": ".-..",
  "M": "--",
  "N": "-.",
  "O": "---",
  "P": ".--.",
  "Q": "--.-",
  "R": ".-.",
  "S": "...",
  "T": "-",
  "U": "..-",
  "W": ".--",
  "X": "-..-",
  "Y": "-.--",
  "Z": "--.."
}

Hàm chuyển chuỗi sang Morse:

Ví dụ

const morseCode = {
  "A": ".-",
  "B": "-...",
  "C": "-.-.",
  "D": "-..",
  "E": ".",
  "F": "..-.",
  "G": "--.",
  "H": "....",
  "I": "..",
  "J": ".---",
  "K": "-.-",
  "L": ".-..",
  "M": "--",
  "N": "-.",
  "O": "---",
  "P": ".--.",
  "Q": "--.-",
  "R": ".-.",
  "S": "...",
  "T": "-",
  "U": "..-",
  "W": ".--",
  "X": "-..-",
  "Y": "-.--",
  "Z": "--.."
};

const convertToMorse = (str) => {
  return str.toUpperCase().split("").map(el => {
    return morseCode[el] ? morseCode[el] : el;
  }).join("");
};

console.log(convertToMorse('Disaster management'));
console.log(convertToMorse('hey there!'));

Kết quả

Đầu ra trong console sẽ là:

-........-...-..-. --.--..---..--.-.- .....-.-- -......-..!