1️⃣ sublist(start, [end])
✅ الاستخدام:
ترجع جزء (مقطع) من القائمة الأصلية من start
إلى end - 1
.
📌 مثال 1:
List<int> nums = [10, 20, 30, 40, 50];
var sub = nums.sublist(1, 4);
print(sub); // [20, 30, 40]
JavaScript📌 مثال 2:
List<String> names = ['Ali', 'Sara', 'Omar'];
print(names.sublist(1)); // ['Sara', 'Omar']
JavaScript2️⃣ shuffle()
✅ الاستخدام:
يقوم بترتيب عناصر القائمة بشكل عشوائي (تُغير القائمة الأصلية).
📌 مثال 1:
List<int> numbers = [1, 2, 3, 4, 5];
numbers.shuffle();
print(numbers); // ترتيب عشوائي كل مرة
JavaScript📌 مثال 2:
List<String> cards = ['A', 'B', 'C', 'D'];
cards.shuffle();
print(cards); // ترتيب عشوائي للكروت
JavaScript3️⃣ asMap()
✅ الاستخدام:
تحول القائمة إلى Map
حيث:
- المفاتيح = الأرقام (index)
- القيم = القيم الأصلية
📌 مثال 1:
List<String> items = ['apple', 'banana', 'orange'];
Map<int, String> mapped = items.asMap();
print(mapped); // {0: apple, 1: banana, 2: orange}
JavaScript📌 مثال 2:
items.asMap().forEach((index, value) {
print('Index $index => $value');
});
JavaScript4️⃣ whereType<T>()
✅ الاستخدام:
تُصفّي العناصر حسب نوعها (String
, int
, bool
…)
📌 مثال 1:
List<dynamic> mixed = [1, 'hello', true, 2.5];
var onlyInts = mixed.whereType<int>().toList();
print(onlyInts); // [1]
JavaScript📌 مثال 2:
var onlyStrings = mixed.whereType<String>().toList();
print(onlyStrings); // ['hello']
JavaScript5️⃣ getRange(start, end)
✅ الاستخدام:
مثل sublist
تمامًا ولكن ترجع Iterable
بدل List
.
📌 مثال 1:
List<int> nums = [10, 20, 30, 40, 50];
var range = nums.getRange(1, 4);
print(range); // (20, 30, 40)
JavaScript📌 مثال 2:
for (var x in nums.getRange(2, 5)) {
print(x); // 30, 40, 50
}
JavaScript6️⃣ any((element) => شرط)
✅ الاستخدام:
ترجع true
إذا يوجد عنصر واحد على الأقل يحقق الشرط.
📌 مثال 1:
List<int> numbers = [1, 2, 3, 4];
bool hasEven = numbers.any((n) => n % 2 == 0);
print(hasEven); // true
JavaScript📌 مثال 2:
List<String> names = ['Ali', 'Sara', 'Omar'];
print(names.any((name) => name.startsWith('S'))); // true
JavaScript7️⃣ every((element) => شرط)
✅ الاستخدام:
ترجع true
فقط إذا جميع العناصر تحقق الشرط.
📌 مثال 1:
List<int> scores = [60, 70, 80];
bool allPassed = scores.every((s) => s >= 50);
print(allPassed); // true
JavaScript📌 مثال 2:
List<String> tags = ['php', 'dart', 'css'];
bool allShort = tags.every((tag) => tag.length <= 5);
print(allShort); // true
JavaScript8️⃣ take(n)
✅ الاستخدام:
تأخذ أول n
عناصر فقط من القائمة.
📌 مثال 1:
List<int> nums = [1, 2, 3, 4, 5];
print(nums.take(3).toList()); // [1, 2, 3]
JavaScript📌 مثال 2:
List<String> langs = ['Dart', 'PHP', 'JS', 'Python'];
var short = langs.take(2).toList();
print(short); // [Dart, PHP]
JavaScript9️⃣ skip(n)
✅ الاستخدام:
يتجاوز أول n
عناصر ويُرجع الباقي.
📌 مثال 1:
List<int> nums = [10, 20, 30, 40, 50];
print(nums.skip(2).toList()); // [30, 40, 50]
JavaScript📌 مثال 2:
List<String> topics = ['HTML', 'CSS', 'JS', 'Dart'];
print(topics.skip(1).toList()); // [CSS, JS, Dart]
JavaScript✅ ملخص سريع بصري:
الدالة | الوظيفة |
---|---|
sublist() | ترجع جزء من القائمة |
shuffle() | تخلط الترتيب عشوائيًا |
asMap() | تحول القائمة إلى Map (index: value) |
whereType<T>() | تُرجع العناصر التي تنتمي لنوع معين فقط |
getRange() | مثل sublist لكن ترجع Iterable |
any() | هل يوجد عنصر واحد يحقق شرط؟ |
every() | هل كل العناصر تحقق شرطًا؟ |
take(n) | تأخذ أول n عناصر |
skip(n) | تتجاوز أول n عناصر |