مرتب سازی (Sorting)
در سوئیفت، «مرتب سازی (Sorting)» یعنی چیدن داده ها با نظم. آرایه (Array) یک لیست از مقدارهاست. با «sorted()» یک آرایه جدید می گیریم. با «sort()» همان آرایه درجا مرتب می شود. مثل مرتب کردن نمره ها از کم تا زیاد.
مرتب سازی صعودی و نزولی
«sorted()» نسخه جدید می سازد. «sort(by:)» درجا کار می کند. برای نزولی، عملگر «>» بده.
var nums = [3, 1, 2]
let ascending = nums.sorted()
print(ascending)
nums.sort(by: >)
print(nums)
نکته: «درجا (In-place)» یعنی همان آرایه تغییر می کند، کپی ساخته نمی شود.
مرتب سازی بدون توجه به حروف بزرگ/کوچک
برای رشته (String)، با «کلوژر (Closure)» ترتیب دلخواه می دهیم. «lowercased()» همه را کوچک می کند تا مقایسه منصفانه شود.
let names = ["bob", "Alice", "dave"]
let caseInsensitive = names.sorted {
$0.lowercased() < $1.lowercased()
}
print(caseInsensitive)
گام های عملی
- یک آرایه از اعداد بساز.
- با «sorted()» نسخه صعودی را بگیر.
- با «sort(by: >)» همان آرایه را نزولی کن.
برای ادامه، عملیات map، filter، reduce را ببین. همچنین بخش کلی کالکشن ها را مرور کن.
جمع بندی سریع
- sorted(): خروجی جدید می سازد.
- sort(): آرایه را درجا عوض می کند.
- برای نزولی از «>» استفاده کن.
- برای رشته ها، مقایسه کوچیک شده عادلانه است.