Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การแปลงสตริงเป็นสัทอักษรของ NATO ใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงและแปลงเป็นสัทอักษรของ NATO

คำรหัสทั้ง 26 คำมีดังนี้:Alfa, Bravo, Charlie, Delta, Echo, Foxtrot, Golf, Hotel, India, Juliett, Kilo, Lima, Mike, November, Oscar, Papa, Quebec, Romeo, Sierra, Tango, Uniform, วิคเตอร์ วิสกี้ เอ็กซ์เรย์ แยงกี้ ซูลู

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const str = 'this is simple string';
const convertToNato = (str = '') => {
   let nato = {
      a: 'Alfa',
      b: 'Bravo',
      c: 'Charlie',
      d: 'Delta',
      e: 'Echo',
      f: 'Foxtrot',
      g: 'Golf',
      h: 'Hotel',
      i: 'India',
      j: 'Juliett',
      k: 'Kilo',
      l: 'Lima',
      m: 'Mike',
      n: 'November',
      o: 'Oscar',
      p: 'Papa',
      q: 'Quebec',
      r: 'Romeo',
      s: 'Sierra',
      t: 'Tango',
      u: 'Uniform',
      v: 'Victor',
      w: 'Whiskey',
      x: 'Xray',
      y: 'Yankee',
      z: 'Zulu'
   }
   let arr = [...str];
   return arr
   .filter((letter) => letter !== " ")
   .map((letter) => {
      if( /[^a-z]/.test(letter.toLowerCase()) ) { return letter }
      else { return nato[letter.toLowerCase()]; }
   }).join(' ');
};
console.log(convertToNato(str));

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

Tango Hotel India Sierra India Sierra Sierra India Mike Papa Lima Echo Sierra Tango Romeo India November Golf