เรามีอาร์เรย์ที่มีตัวเลขและสตริงบางตัว เราจำเป็นต้อง sort thearray เพื่อให้ตัวเลขได้รับการจัดเรียงและวางไว้ก่อนทุกสตริง จากนั้นจึงจัดเรียงสตริงตามตัวอักษร
ตัวอย่าง
สมมติว่านี่คืออาร์เรย์ของเรา –
const arr = [1, 'fdf', 'afv', 6, 47, 7, 'svd', 'bdf', 9];
ผลลัพธ์ควรมีลักษณะดังนี้ −
[1, 6, 7, 9, 47, 'afv', 'bdf', 'fdf', 'svd']
ดังนั้น เรามาเขียนโค้ดสำหรับสิ่งนี้กัน −
const arr = [1, 'fdf', 'afv', 6, 47, 7, 'svd', 'bdf', 9];
const sorter = (a, b) => {
if(typeof a === 'number' && typeof b === 'number'){
return a - b;
}else if(typeof a === 'number' && typeof b !== 'number'){
return -1;
}else if(typeof a !== 'number' && typeof b === 'number'){
return 1;
}else{
return a > b ? 1 : -1;
}
}
arr.sort(sorter);
console.log(arr); ผลลัพธ์ในคอนโซลจะเป็น -
[ 1, 6, 7, 9, 47, 'afv', 'bdf', 'fdf', 'svd' ]