في هذا المنشور سوف نتعرف على طرق مصفوفة جافا سكريبت شائعة الاستخدام والتي تستخدم وظيفة التكرار ورد الاتصال لتحقيق وظائفها.
يشير التكرار إلى التنفيذ المتكرر لمجموعة من البيانات أو كتل التعليمات البرمجية، مما يسمح لنا بإجراء نفس العملية عدة مرات.
بعبارات بسيطة، رد الاتصال هو تعريف دالة تم تمريره كوسيطة إلى وظيفة أخرى.
ولتبسيط الأمور، سنركز على هذه النقاط الثلاث.
قبل أن نبدأ، دعونا نفهم كيفية تنظيم أساليب المصفوفة هذه.
// طريقة المصفوفة(رد الاتصال(الشرط الذي نريد تنفيذه على كل عنصر في المصفوفة لدينا))
كل طريقة من طرق المصفوفة هذه هي وظيفة تتلقى رد اتصال كوسيطة، وفي رد الاتصال هذا نحدد الشروط التي نريد تنفيذها على كل عنصر من عناصر المصفوفة لدينا.
سوف نستخدم هذه المجموعة من الكائنات لأمثلتنا.
`بيانات ثابتة = [
{
"معرف المستخدم": 1،
"اسم المستخدم": "فرانسيس"،
"message": "مرحبًا، كيف الحال؟",
"الطابع الزمني": "2024-02-18T12:30:00Z",
"الحالة": "متصل",
"الرسالة المرسلة": 28,
"دور": "مستخدم"،
"رمز المرور": "293087O7764"
},
{
"معرف المستخدم": 2،
"اسم المستخدم": "موسى",
"message": "ليس سيئًا، أنا فقط أعمل على مشروع.",
"الطابع الزمني": "2024-02-18T12:35:00Z",
"الحالة": "بعيدًا"،
"الرسالة المرسلة": 74,
"دور": "مستخدم"،
"رمز المرور": "675147O2234"
},
{
"معرف المستخدم": 3،
"اسم المستخدم": "فيكي",
"message": "مرحبًا أيها الرفاق، ما هي آخر الشائعات؟",
"الطابع الزمني": "2024-02-18T12:40:00Z",
"الحالة": "متصل",
"الرسالة المرسلة": 271,
"الدور": "المشرف"،
"رمز المرور": "76352O8069"
},
{
"معرف المستخدم": 4،
"اسم المستخدم": "جونيور"،
"message": "ليس كثيرًا، فقط شيء منعش. ماذا عنك؟",
"الطابع الزمني": "2024-02-18T12:45:00Z",
"الحالة": "غير متصل"،
"الرسالة المرسلة": 125,
"الدور": "المشرف"،
"رمز المرور": "21876O3483"
]`
forEach: forEach يتم استخدامه عندما نريد تنفيذ شرط على كافة عناصر المصفوفة لدينا. forEach يُرجع غير محدد.
وظيفة getMessageSent(users){
دع sumMessageSent = 0;
users.forEach(وظيفة(مستخدم){
sumMessageSent = user.messageSent;
})
إرجاع sumMessageSent;
getMessageSent (بيانات) // الإخراج: 498
reduce: يتم استخدام تقليل لتقليل مصفوفة إلى قيمة واحدة على سبيل المثال يمكن تقليل هذه المصفوفة [8، 7، 3] إلى الرقم 18. يُرجع المخفض قيمة واحدة.
تأخذ وظيفة المخفض معلمتين أولاً المخفض (الذي يتكون من الإجمالي والتيار) والثانية القيمة الأولية
المجموع : وهذا ما يسمى شعبيا المجمع. الإجمالي كما أسميه هو القيمة المحسوبة الأخيرة لوظيفة المخفض.
يشير التيار إلى عنصر صفيف واحد. في حالتنا لدينا أربعة عناصر (حالية).
القيمة الأولية هي القيمة التي نخصصها للإجمالي في المكالمة الأولى. ببساطة قل إن initalValue هي القيمة الافتراضية للمجموع
const getMessageSent = (المستخدمون) => {
إرجاع المستخدمين.تقليل ((الإجمالي، الحالي) => الإجمالي = الحالي.messageSent, 0)
getMessageSent(بيانات) // الإخراج: 498
filter: يتم استخدام Array.filter عندما نريد جمع العناصر الموجودة في المصفوفة والتي تفي بشرط معين فقط. array.filter يُرجع مصفوفة.
const onlineUsers = (المستخدمون) => {
إرجاع users.filter(user => user.status === "online")
onlineUsers(data) // الإخراج: [كائن كائن]
find يتم استخدام Array.find عندما نريد الحصول فقط على عنصر المصفوفة الأول الذي يفي بالشرط المحدد داخل رد الاتصال. تقوم array.find بإرجاع العنصر الأول ليس في مصفوفة ولكن بتنسيق العنصر، وفي حالتنا سيكون هذا كائنًا أو غير محدد إذا لم يتم العثور على تطابق.
const getUserRole = (المستخدمون) => {
إرجاع users.find(user => user.role === "user")
getUserRole(data) // الإخراج: {userId: 1، اسم المستخدم: 'Francis'، الرسالة: "مرحبًا، كيف الأحوال؟"، الطابع الزمني: '2024-02-18T12:30:00Z'، الحالة: ' متصل'، …}
لاحظ كيف تم إرجاع المستخدم الأول الذي يستوفي الشرط فقط.
map يتم استخدام Array.map عندما نريد تحويل العناصر الموجودة في المصفوفة. تقوم array.map بإرجاع مصفوفة من العناصر المحولة التي تستوفي الشرط الموجود في رد الاتصال الخاص بنا.
const getUserNameAndPass = (المستخدمون) => {
إرجاع خريطة المستخدمين ((المستخدم) => {
const userPassCode = user.passCode.slice(-4);
return${user.username} ${userPassCode.padStart(
user.passCode.length,
"★"
)};
});
};
getUserNameAndPass(data)// الإخراج:['Francis ★★★★★★★7764', 'Moses ★★★★★★★2234', 'Vicky ★★★★★★8069', 'Junior ★ ★★★★★3483'
every array.every يتم استخدامه عندما نريد التحقق مما إذا كانت جميع عناصر المصفوفة قد اجتازت الشرط المحدد لدينا. تقوم array.ever بإرجاع قيمة منطقية. صحيح إذا نجحت جميع العناصر في الشرط وخطأ إذا فشل أي من العناصر في الشرط.
const isOnline = data.every(user => dataItem.status === 'online')
console.log(isOnline) // الإخراج:خطأ
Some array.some يتم استخدامه عندما نريد التحقق من أن بعض عناصر المصفوفة اجتازت شرطًا معطى. array.some يُرجع قيمة منطقية. صحيح إذا نجحت بعض العناصر في الشرط وخطأ إذا نجحت أو فشلت جميع العناصر.
const isOnline = data.every(user => dataItem.status === 'online')
console.log(isOnline) // الإخراج: صحيح
هذه بعض طرق المصفوفة المستخدمة على نطاق واسع.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3