JavaScript: Array Immutably dengan `toSorted()`
1
min read .
Updated on
Kalau kamu butuh array yang terurut tapi tidak ingin mengubah array asli, toSorted()
jawabannya.
1. Dasar toSorted()
let sortedArray = array.toSorted([compareFunction]);
- Mengembalikan array baru yang sudah terurut.
- Array asli tetap utuh.
compareFunction
opsional, bisa untuk menentukan urutan custom.
Contoh:
const numbers = [5,3,8,1];
const sortedNumbers = numbers.toSorted();
console.log(sortedNumbers); // [1,3,5,8]
console.log(numbers); // [5,3,8,1]
2. Mengurutkan Objek
const students = [
{ name: 'Alice', grade: 85 },
{ name: 'Bob', grade: 92 },
{ name: 'Charlie', grade: 88 }
];
const sortedByGrade = students.toSorted((a,b) => b.grade - a.grade);
console.log(sortedByGrade);
/* [
{ name: 'Bob', grade: 92 },
{ name: 'Charlie', grade: 88 },
{ name: 'Alice', grade: 85 }
] */
console.log(students); // array asli tetap sama
3. Menggunakan Custom Compare Function
const words = ['banana','apple','cherry'];
const sortedWords = words.toSorted((a,b) => a.length - b.length);
console.log(sortedWords); // ['apple','banana','cherry']
4. Kegunaan Real-World
- UI Rendering: Tampilkan daftar atau tabel terurut tanpa mengubah data asli.
- Data Analysis: Analisis dataset sambil menjaga versi original.
- Functional Programming: Mendukung prinsip immutable data structures.
5. Catatan Performa
toSorted()
membuat array baru → butuh memory tambahan. Perhatikan saat array sangat besar.
Kesimpulan
toSorted()
adalah solusi elegan untuk mengurutkan array tanpa memodifikasi array asli. Gini deh, fitur ini bikin kode lebih aman, bersih, dan gampang dipelihara.