انتقل إلى المحتوى

٣.٥ الدوال المساعدة للمصفوفات — الجزء الثاني

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.

تستقبل الدالة ثلاثة معاملات كحد أقصى:

  1. currentValue: العنصر الحالي، وهو المعامل المستخدم هنا.
  2. index: فهرس العنصر الحالي، ويمكن إغفاله.
  3. 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.

تستقبل الدالة ثلاثة معاملات كحد أقصى:

  1. currentValue: العنصر الحالي، وهو المعامل المستخدم هنا.
  2. index: فهرس العنصر الحالي، ويمكن إغفاله.
  3. 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