เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของค่าคงที่เป็นอาร์กิวเมนต์แรก และสตริงเป็นอาร์กิวเมนต์ที่สอง
ฟังก์ชันควรเรียงอาร์เรย์ตามลำดับตัวอักษร แต่เก็บสตริงที่ให้มาเป็นอาร์กิวเมนต์ที่สอง (ถ้ามีอยู่ในอาร์เรย์) เป็นองค์ประกอบแรก โดยไม่สนใจข้อความที่มันมี
ตัวอย่างโค้ด
โค้ดสำหรับการทำงานนี้จะเป็นดังนี้
const arr = ["Apple", "Orange", "Grapes", "Pineapple", "None", "Dates"];
const sortKeepingConstants = (arr = [], text = '') => {
const sorter = (a, b) => {
return (b === text) - (a === text) || a.localeCompare(b);
}
arr.sort(sorter);
};
sortKeepingConstants(arr, 'None');
console.log(arr);ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้
[ 'None', 'Apple', 'Dates', 'Grapes', 'Orange', 'Pineapple' ]