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

ตรวจสอบว่าอาร์เรย์ถูกจัดเรียงแบบพจนานุกรมโดยอ้างอิงถึงลำดับตัวอักษรที่มีสัญญาณรบกวนใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของคำสตริงเป็นอาร์กิวเมนต์แรก อาร์กิวเมนต์ที่สองของฟังก์ชันจะเป็นสตริงที่มีตัวอักษรตัวพิมพ์เล็กภาษาอังกฤษทั้งหมด 26 ตัว แต่จะเรียงลำดับแบบสุ่มบางส่วน

หน้าที่ของฟังก์ชันของเราคือตรวจสอบว่าคำในอาร์เรย์มีการจัดวางคำศัพท์อย่างถูกต้องตามลำดับที่ระบุโดยอาร์กิวเมนต์ที่สองหรือไม่ ถ้าเป็นเช่นนั้นเราควรคืนค่าจริงเท็จมิฉะนั้น

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตของคำและลำดับคือ −

const arr = ['this', 'is', 'something', 'mad'];
const order = 'hdetljnopqabcuvwxfgirsykmz';

จากนั้นผลลัพธ์ควรเป็น −

const output = true;

เพราะ 't' มาก่อน 'i' ซึ่งมาก่อน 's' ซึ่งมาก่อน 'm' ในสตริงการเรียงลำดับ

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const arr = ['this', 'is', 'something', 'mad'];
const order = 'hdetljnopqabcuvwxfgirsykmz';
const isPlacedCorrectly = (arr = [], order) => {
   const { length } = arr;
   for(let i = 0; i < length - 1; i++){
      for(let j =0; j < arr[i].length;j++){
         if(order.indexOf(arr[i][j])< order.indexOf(arr[i+1][j])) {
            break;
         }
         else if (order.indexOf(arr[i][j]) === order.indexOf(arr[i+1][j])){
            continue;
         } else {
            return false;
         }
      }
   }
   return true;
};
console.log(isPlacedCorrectly(arr, order));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

true