שיטת Sort
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-JavaScript של Coddy. שיעור 57 מתוך 65.
השיטה sort() מאפשרת לך למיין את איברי המערך במקום ומחזירה את המערך הממוין. כברירת מחדל, היא ממיינת את האיברים כמחרוזות בסדר אלפביתי עולה.
הנה התחביר הבסיסי:
array.sort([compareFunction])דוגמה ללא שימוש בפונקציית ההשוואה:
const fruits = ['banana', 'apple', 'orange', 'mango'];
fruits.sort();
console.log(fruits);
// ['apple', 'banana', 'mango', 'orange']אזהרה: מספרים אינם ממוינים כמצופה ללא פונקציית השוואה:
const numbers = [1, 30, 4, 21, 100000];
numbers.sort();
console.log(numbers);
// [1, 100000, 21, 30, 4] (מיון מספרי שגוי)כדי למיין מספרים כראוי או לממש מיון מותאם אישית, צריך להשתמש בפונקציית השוואה.
הפונקציה להשוואה צריכה להחזיר:
- ערך שלילי אם a צריך לבוא לפני b
- ערך חיובי אם b צריך לבוא לפני a
- אפס אם הם שווים
כך תמיין מספרים באמצעות פונקציית השוואה:
// סדר עולה
const numbers = [1, 30, 4, 21, 100000];
numbers.sort((a, b) => a - b);
console.log(numbers); // [1, 4, 21, 30, 100000]// סדר יורד
numbers.sort((a, b) => b - a);
console.log(numbers); // [100000, 30, 21, 4, 1]דוגמה נוספת לאופן מיון אובייקטים:
const people = [
{ name: 'John', age: 30 },
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 35 }
];
// מיין לפי גיל (בסדר עולה)
people.sort((a, b) => a.age - b.age);// מיין לפי שם (למיון אלפביתי השתמש ב-localeCompare())
people.sort((a, b) => a.name.localeCompare(b.name));אתגר
קלצרו פונקציה בשם sortByLength שמקבלת מערך של מחרוזות ומחזירה מערך חדש עם אותן מחרוזות, ממוינות לפי אורכן בסדר עולה. אם לשתי מחרוזות יש אותו אורך, יש למיין אותן לפי סדר אלפביתי.
נסו בעצמכם
function sortByLength(arr) {
return arr.sort((a, b) => {
// כתבו כאן קוד
})
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת התוכנית
4JSON חלק 2
מעבר על JSONJSON מקונןשרשור אופציונלי ב-JSONהעתקה שטחית והעתקה עמוקהסיכום - חנות אופנייםסיכום - מערכת השמש10ניהול מערכת הפסטיבל
סקירת הפרויקטהוספת סרטים ואולמות2מערכים רב־ממדיים
יסודות המערכים הדו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום – מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים משונניםמערכים תלת־ממדיים ומעבר לכךתבניות נפוצות במערכים דו־ממדייםסיכום – כל מה שצריך לדעת על מערכיםתרגלו בעצמכם: קומפיילר JavaScript אונליין