เราจำเป็นต้องเขียนฟังก์ชัน 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