๐ Urutkan Array
Deskripsi Soalโ
Diberikan sebuah array angka, gunakan fungsi sort untuk mengurutkan array tersebut. Berikan solusi untuk kedua skenario berikut:
- Urutan naik (terkecil ke terbesar)
- Urutan turun (terbesar ke terkecil)
Pengurutan Naikโ
const numbers = [10, 5, 50, 2, 200];
// Using a comparison function
numbers.sort(function (a, b) {
return a - b;
});
console.log(numbers); // [2, 5, 10, 50, 200]
Pengurutan Turunโ
const numbers = [10, 5, 50, 2, 200];
numbers.sort(function (a, b) {
return b - a;
});
console.log(numbers); // [200, 50, 10, 5, 2]
Menyisipkan String Secara Sengajaโ
const mixedNumbers = [10, '5', 50, '2', 200];
mixedNumbers.sort(function (a, b) {
return Number(a) - Number(b);
});
console.log(mixedNumbers); // ['2', '5', 10, 50, 200]
Namun, solusi ini tidak dapat menangani string yang tidak bisa dikonversi menjadi angka, seperti 'iphone', 'ipad', dan sebagainya. String tersebut akan dikonversi menjadi NaN, dan meskipun mungkin berada di akhir array hasil pengurutan, hasilnya bisa berbeda di tiap browser. Dalam kasus seperti ini, pertimbangkan memakai filter terlebih dahulu untuk menghapus dan menyusun ulang array.
Pengurutan Objectโ
const mockArray = [
{ type: 'a', label: 1 },
{ type: 'a', label: 2 },
{ type: 'c', label: 1 },
{ type: 'c', label: 3 },
{ type: 'b', label: 2 },
];