٣.٥ الدوال المساعدة للمصفوفات — الجزء الثاني¶
every()¶
التمرين 1: تحقّق مما إذا كانت عناصر المصفوفة التالية أعدادًا. تلميح: استخدم map()
var arr = [5, 7, 0, 9, -88, 3, 6, 7];
var newArr = arr.map(value => typeof value === "number" ? 1 : 0);
console.log(newArr);
//You can also add
var count = 0;
for (element of newArr){
count += element;
}
var allNumbers = count === newArr.length ? true : false;
console.log(allNumbers);
النتيجة كما يلي:
(8) [1, 1, 1, 1, 1, 1, 1, 1]
true
التمرين 2: اتبع أسلوب التمرين 1 للتحقّق مما إذا كانت جميع العناصر أعدادًا.
var arr = [true, 5, 7, 0, null, 9, "value", -88, 3, 6, 7];
var newArr = arr.map(value => typeof value === "number" ? 1 : 0);
console.log(newArr);
//You can also add
var count = 0;
for (element of newArr){
count += element;
}
var allNumbers = count === newArr.length ? true : false;
console.log(allNumbers);
النتيجة كما يلي:
(11) [0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1]
false
التمرين 3: تأمّل الشيفرة التالية وقارنها مع التمرين 1.
var arr = [5, 7, 0, 9, -88, 3, 6, 7];
var allNumbers = arr.every(value => typeof value === "number");
console.log(allNumbers);
النتيجة هي: true
التمرين 4: تأمّل الشيفرة التالية وقارنها مع التمرين 2.
var arr = [true, 5, 7, 0, null, 9, "value", -88, 3, 6, 7];
var allNumbers = arr.every(value => typeof value === "number");
console.log(allNumbers);
النتيجة هي: false
every()
باستخدام array.every()يمكننا التحقّق مما إذا كانت جميع عناصر المصفوفة تحقق شرطًا معيّنًا.
array.every() تستقبل دالة وتُرجع true أو false.
تستقبل الدالة ثلاثة معاملات كحد أقصى:
currentValue: العنصر الحالي، وهو المعامل المستخدم هنا.index: فهرس العنصر الحالي، ويمكن إغفاله.array: المصفوفة نفسها، ويمكن إغفالها.
التمرين 5: تحقّق مما إذا كانت جميع العناصر التالية أكبر من 20.
var arr = [10, 20, 5, 2, -8, 0, 55, 100];
var all = arr.every(value => value > 20);
console.log(all);
النتيجة هي: false
التمرين 6: تحقّق مما إذا كانت جميع العناصر التالية أقل من 110.
var arr = [10, 20, 5, 2, -8, 0, 55, 100];
var all = arr.every(value => value < 110);
console.log(all);
النتيجة هي: true
التمرين 7: تحقّق مما إذا كانت جميع العناصر تساوي 1.
var arr = [1, 1, 1, 0, 0, 1, 1, 1];
var all = arr.every(value => value === 1);
console.log(all);
النتيجة هي: false
التمرين 8: تحقّق مما إذا كانت جميع العناصر تساوي صفرًا.
var arr = [0, 0, 0, 0, 0];
var all = arr.every(value => value === 0);
console.log(all);
النتيجة هي: true
التمرين 9: تحقّق مما إذا كان فهرس كل عنصر يساوي قيمته. أرجع true إذا تحقق ذلك للجميع؛ وإلا فأرجع false.
var arr = [0, 1, 2, 3, 4, 5];
var all = arr.every(function(value, index){
return value == index;
});
console.log(all);
النتيجة هي: true
التمرين 10: تحقّق مما إذا كان فهرس كل عنصر يساوي قيمته. أرجع true إذا تحقق ذلك للجميع؛ وإلا فأرجع false.
var arr = [0, 2, 2, 7, 4, 5];
var all = arr.every(function(value, index){
return value == index;
});
console.log(all);
النتيجة هي: false
التمرين 11: تحقّق مما إذا كان طول كل سلسلة في المصفوفة يساوي 3.
var names = ["Sami", "Sanad", "Ali", "Nawras", "Jad", "Ola", "JoJo", "Ahmed", "Lolo"];
var all = names.every(name => name.length === 3);
console.log(all);
النتيجة هي: false
التمرين 12: تحقّق مما إذا كانت جميع السلاسل تحتوي على المحرف a أو A .
var names = ["Sami", "Sanad", "Ali", "Nawras", "Jad", "Ola", "Julia", "Ahmed", "Lala"];
var all = names.every(name => name.toLowerCase().indexOf('a') !== -1 );
console.log(all);
النتيجة هي: true
التمرين 13: تحقّق مما إذا كان جميع المستخدمين مسجّلين دخولهم.
var usersLoggedInArr = [true, false, true, true, true, false];
var all = usersLoggedInArr.every(value => value === true);
console.log(all);
النتيجة هي: false
some()¶
التمرين 14: تحقّق من وجود عنصر عددي واحد على الأقل في المصفوفة. تلميح: استخدم map()
var arr = [5, 7, 0, 9, -88, 3, 6, 7];
var newArr = arr.map(value => typeof value === "number" ? 1 : 0);
console.log(newArr);
//You can also add
var count = 0;
for (element of newArr){
count += element;
}
var anyIsNumber = count > 0 ? true : false;
console.log(anyIsNumber);
النتيجة كما يلي:
(8) [1, 1, 1, 1, 1, 1, 1, 1]
true
التمرين 15: تحقّق من وجود عنصر عددي واحد على الأقل في المصفوفة. تلميح: استخدم map()
var arr = [true, 5, 7, 0, null, 9, "value", -88, 3, 6, 7];
var newArr = arr.map(value => typeof value === "number" ? 1 : 0);
console.log(newArr);
//You can also add
var count = 0;
for (element of newArr){
count += element;
}
var anyIsNumber = count > 0 ? true : false;
console.log(anyIsNumber);
النتيجة كما يلي:
(11) [0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1]
true
التمرين 16: تحقّق من وجود عنصر عددي واحد على الأقل في المصفوفة. تلميح: استخدم map()
var arr = ["hello", "Ali", false, null];
var newArr = arr.map(value => typeof value === "number" ? 1 : 0);
console.log(newArr);
//You can also add
var count = 0;
for (element of newArr){
count += element;
}
var anyIsNumber = count > 0 ? true : false;
console.log(anyIsNumber);
النتيجة كما يلي:
(4) [0, 0, 0, 0]
false
التمرين 17: تأمّل الشيفرة التالية وقارنها مع التمرين 14.
var arr = [5, 7, 0, 9, -88, 3, 6, 7];
var anyIsNumber = arr.some(value => typeof value === "number");
console.log(anyIsNumber);
النتيجة هي: true
التمرين 18: تأمّل الشيفرة التالية وقارنها مع التمرين 15.
var arr = [true, 5, 7, 0, null, 9, "value", -88, 3, 6, 7];
var anyIsNumber = arr.some(value => typeof value === "number");
console.log(anyIsNumber);
النتيجة هي: true
التمرين 19: تأمّل الشيفرة التالية وقارنها مع التمرين 16.
var arr = ["hello", "Ali", false, null];
var anyIsNumber = arr.some(value => typeof value === "number");
console.log(anyIsNumber);
النتيجة هي: false
some()
باستخدام array.some()يمكننا التحقّق مما إذا كانت عنصر واحد على الأقل من المصفوفة يحقق شرطًا محدّدًا.
array.some() تستقبل دالة وتُرجع true أو false.
تستقبل الدالة ثلاثة معاملات كحد أقصى:
currentValue: العنصر الحالي، وهو المعامل المستخدم هنا.index: فهرس العنصر الحالي، ويمكن إغفاله.array: المصفوفة نفسها، ويمكن إغفالها.
التمرين 20: تحقّق من وجود عنصر أكبر من 20.
var arr = [10, 20, 5, 2, -8, 0, 55, 100];
var someElements = arr.some(value => value > 20);
console.log(someElements);
النتيجة هي: true
التمرين 21: تحقّق من وجود عنصر أقل من 110.
var arr = [10, 20, 5, 2, -8, 0, 55, 100];
var someElements = arr.some(value => value < 110);
console.log(someElements);
النتيجة هي: true
التمرين 22: تحقّق من وجود عنصر يساوي فهرسه قيمته. أرجع true إذا وُجد؛ وإلا فأرجع false.
var arr = [0, 2, 2, 7, 4, 5];
var someElements = arr.some(function(value, index){
return value == index;
});
console.log(someElements);
النتيجة هي: true
التمرين 23: تحقّق من وجود سلسلة طولها 3 في المصفوفة.
var names = ["Sami", "Sanad", "Nawras", "JoJo", "Ahmed", "Lolo"];
var someElements = names.some(name => name.length === 3);
console.log(someElements);
النتيجة هي: false
التمرين 24: تحقّق من وجود سلسلة تحتوي على z .
var values = ["Hello", "well", "can we do it?", "now better than never"];
var someElements = values.every(value => value.indexOf('z') !== -1 );
console.log(someElements);
النتيجة هي: false
التمرين 25: تحقّق مما إذا كان أحد المستخدمين مسجّلًا دخوله.
var usersLoggedInArr = [true, false, true, true, true, false];
var someElements = usersLoggedInArr.some(value => value === true);
console.log(someElements);
النتيجة هي: true