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

แทนวินาทีใน HH:MM:SS ใน JavaScript


ปัญหา

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

อาร์เรย์สามารถมีอักขระได้เพียง 4 ตัวเท่านั้น คือ −

  • ‘N’ → หมายถึงทิศเหนือ
  • ‘S’ → หมายถึงทิศใต้
  • ‘W’ → หมายถึงทิศตะวันตก
  • ‘E’ → หมายถึงทิศตะวันออก

อักขระแต่ละตัวระบุการเคลื่อนที่ของระยะทางหน่วยไปในทิศทางนั้น และหากส่วนใดในอาร์เรย์ที่มีสองทิศทางตรงข้ามกัน [('S' และ 'N') หรือ ('E' และ 'W')] ปรากฏติดกัน จะยกเลิกการเคลื่อนที่ของกันและกัน ดังนั้น ฟังก์ชันของเราจึงควรหาทิศทางการเคลื่อนที่ของอาร์เรย์ทั้งหมดที่เกิดขึ้น

ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −

ป้อนข้อมูล

const arr = ['N', 'S', 'S', 'E', 'W', 'N', 'W'];

ผลผลิต

const output = 'W';

คำอธิบายผลลัพธ์

'N' กับ 'S' จะยกเลิกกัน 'E' และ 'W' จะยกเลิกกัน และสุดท้าย 'N' และ 'S' จะยกเลิกกันและกันอีกครั้ง เหลือเพียง 'W'

ตัวอย่าง

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

const arr = ['N', 'S', 'S', 'E', 'W', 'N', 'W'];
const cancelDirections = (arr = []) => {

   let str = arr.join('');
   while(str.includes('NS') || str.includes('SN') || str.includes('EW') || str.includes('WE')){
      str = str.replace('NS', '');
      str = str.replace('SN', '');
      str = str.replace('EW', '');
      str = str.replace('WE', '');
   };
   return str.split('');
};
console.log(cancelDirections(arr));

ผลลัพธ์

['W']