أحد الأسئلة الأكثر شيوعا للمطورين الذين يعملون مع جافا سكريبت هو كيفية معرفة فهرس عنصر في مصفوفة. وعلى الرغم من أن هذه قد تبدو مهمة بسيطة إلى حد ما للوهلة الأولى ، إلا أن هناك بالفعل عدة طرق لتحقيق النتيجة المرجوة في جافا سكريبت.
في هذه المقالة ، سنلقي نظرة على الطرق المختلفة التي تسمح لك بمعرفة فهرس عنصر في مصفوفة. سننظر في كل من الأساليب الكلاسيكية والميزات الجديدة المتوفرة في الإصدارات الحديثة من جافا سكريبت.
طريقة واحدة لمعرفة مؤشر عنصر في صفيف هو استخدام ل أو أثناء حلقة. يمكننا أن نذهب من خلال كل عنصر من عناصر المصفوفة ومقارنتها مع القيمة التي نبحث عنها. في حالة تطابق القيمة ، يمكننا إرجاع فهرس العنصر.
- }
- }
- هذا مثال على استخدام حلقة للعثور على فهرس عنصر في صفيف. نقوم بتهيئة المتغير الأول بقيمة صفرية ونزيده بمقدار واحد في كل تكرار للحلقة. نقارن قيمة عنصر المصفوفة بالقيمة المطلوبة ، وفي حالة المطابقة ، نخرج فهرس العنصر إلى وحدة التحكم ونخرج من الحلقة باستخدام عامل الفاصل.
- ما هو مؤشر عنصر في مجموعة شبيبة?
- باستخدام طريقة الفهرس
- باستخدام ل حلقة
- باستخدام طريقة فيندكس
- باستخدام طريقة فوريش
- باستخدام طريقة الخريطة
- باستخدام طريقة التصفية
- باستخدام طريقة تقليل
سؤال وجواب
كيف يمكنني معرفة مؤشر عنصر في صفيف في جافا سكريبت?
هل من الممكن استخدام حلقة للعثور على فهرس عنصر في مصفوفة في جافا سكريبت?
كيف يمكنني معرفة جميع فهارس عنصر في صفيف في جافا سكريبت?
كيف يمكنني معرفة مؤشر جميع العناصر تلبية شرط معين في صفيف في جافا سكريبت?
ماذا علي أن أفعل إذا لم يتم العثور على عنصر في مجموعة في جافا سكريبت?
كيف يمكنني تحديد فهرس عنصر في صفيف إذا كان هناك عدة عناصر متطابقة?
ما هو مؤشر عنصر في مجموعة شبيبة?
فهرس عنصر في مصفوفة جافا سكريبت هو قيمة رقمية فريدة تحدد موضع عنصر في المصفوفة. كل عنصر في المصفوفة له فهرس خاص به ، بدءا من الصفر (0).
يتم استخدام الفهرس للوصول إلى عنصر معين في المصفوفة ، وكذلك لإدراج العناصر وحذفها وتحديثها. هذا هو الأساس للعديد من عمليات الصفيف.
تبدأ فهرسة الصفيف من الصفر ، وبالتالي فإن العنصر الأول في الصفيف يحتوي على فهرس 0 ، والعنصر الثاني يحتوي على فهرس 1 ، وهكذا. يحتوي العنصر الأخير في المصفوفة على فهرس أقل من طول المصفوفة.
للوصول إلى عنصر من خلال فهرسه ، تستخدم جافا سكريبت الأقواس المربعة وفهرس العنصر الموجود بداخلها. على سبيل المثال:
وحدة التحكم.سجل (مياراي [1]) ؛ / / مخرجات'الموز'
تستخدم فهارس الصفيف أيضا لتغيير قيمة عنصر ، وإضافة عناصر جديدة إلى صفيف ، وحذف العناصر ، وتنفيذ عمليات أخرى في جافا سكريبت.
باستخدام طريقة الفهرس
- هي وظيفة جافا سكريبت مدمجة تسمح لك بالعثور على فهرس عنصر في مصفوفة. يقوم بإرجاع الفهرس الأول الذي يطابق القيمة المحددة.
- إندكسوف
- صفيف.فهرس (عنصر البحث [،من مؤشر])
- المصفوفة التي يتم البحث فيها عن العنصر.
منمؤشر
(اختياري) — فهرس عنصر الصفيف لبدء البحث منه. إذا تم حذف المعلمة ، فسيتم إجراء البحث من بداية المصفوفة.
طريقة الفهرس
إرجاع فهرس العنصر إذا تم العثور عليه في المصفوفة. إذا لم يتم العثور على تطابق ، يتم إرجاع القيمة -1.
مثال على استخدام الطريقة
دع الفواكه = ['التفاح' ، 'الموز' ، 'البرتقال' ، 'الكمثرى' ، 'الجريب فروت'];
مؤشر = الفواكه.إندكسوف ('بلوم');
وحدة التحكم.سجل (فهرس) ؛ / / الإخراج: -1
في المثال الأول ، نحن نبحث عن مؤشر عنصر 'الكمثرى' في المصفوفة
الفواكه
. ستكون النتيجة 3 ، حيث يقع عنصر 'الكمثرى' في الفهرس 3 في المصفوفة.
في المثال الثاني ، نحن نبحث عن مؤشر عنصر 'استنزاف' في نفس الصفيف. منذ لم يتم العثور على عنصر' استنزاف ' في مجموعة,
طريقة الفهرس
إرجاع القيمة -1.
- باستخدام ل حلقة
- تعد الحلقة واحدة من أكثر الطرق شيوعا للحصول على فهرس عنصر في مصفوفة في جافا سكريبت. يسمح لك بتنفيذ إجراءات متكررة لعدد معين من المرات.
- بناء الجملة من أجل حلقة يشبه هذا:
ل (القيمة الأولية ؛ الشرط ؛ الخطوة) {
// رمز ليتم تنفيذها في الحلقة
}
أين:
القيمة الأولية هي القيمة الأولية للمتغير الذي سيتم استخدامه لتتبع فهرس العنصر;
الشرط-شرط يحدد ما إذا كان يجب تنفيذ الحلقة;
تتمثل الخطوة في تغيير قيمة الفهرس لعنصر في كل تكرار للحلقة.
مثال على استخدام حلقة للحصول على فهرس عنصر في صفيف:
مجموعة كونست = [10, 20, 30, 40, 50];
إلى عن على (دعني = 0; أنا < صفيف.الطول ؛ أنا {) {
وحدة التحكم.سجل ('مؤشر العنصر:' ، ط);
}
// الإخراج:
// مؤشر العنصر: 0
// مؤشر العنصر: 1
// مؤشر البند: 2
// فهرس العنصر: 3
// مؤشر البند: 4في هذا المثال ، قمنا بتعيين القيمة الأولية للمتغير أنا إلى 0 ، وتعيين الشرط الذي يجب تنفيذ الحلقة بينما أنا أقل من طول المصفوفة ، وزيادة قيمة أنا بمقدار 1 بعد كل تكرار للحلقة.
- في كل تكرار للحلقة ، نقوم بإخراج القيمة أنا ، والتي ستكون فهرس العنصر الحالي في المصفوفة.
- باستخدام ل حلقة ، يمكنك الوصول إلى كل عنصر من عناصر المصفوفة وتنفيذ العمليات اللازمة معهم.
- باستخدام طريقة فيندكس
- طريقة فيندندكس هي واحدة من الطرق للحصول على فهرس عنصر في صفيف في جافا سكريبت. يسمح لك بالعثور على فهرس العنصر الأول الذي يفي بالشرط المحدد ، ويعيد قيمته. إذا لم يتم العثور على العنصر ، فإن الطريقة ترجع -1.
- بناء الجملة من الأسلوب هو كما يلي:
- صفيف.فيندكس (رد الاتصال (عنصر [،فهرس [،صفيف]]) [،ثيسارج])
أين:
الصفيف هو الصفيف الذي سيتم إجراء البحث فيه;
رد الاتصال هو وظيفة تتحقق من عناصر المصفوفة;
العنصر-العنصر الحالي للمصفوفة;
الفهرس (اختياري) - فهرس عنصر الصفيف الحالي;
صفيف (اختياري) - الصفيف نفسه الذي يتم البحث عنه;
ثيسارج (اختياري) هو كائن يستخدم كقيمة لهذا عند استدعاء رد الاتصال.
طريقة فيندندكس يتكرر من خلال عناصر مجموعة من اليسار إلى اليمين ، استدعاء وظيفة رد الاتصال لكل عنصر. إذا تم إرجاع الدالة بشكل صحيح ، تتوقف الطريقة عن التكرار وتعيد فهرس العنصر الحالي.
دعونا ننظر إلى مثال على استخدام طريقة فيندندكس:
// تحديد مجموعة من الطلاب
طلاب فار = [
{ الاسم: "أليكسي" ، العمر: 20 },
{ الاسم: "إيفان" ، العمر: 21 },
{ الاسم: "ماريا" ، العمر: 22 },
{ الاسم: "آنا" ، العمر: 20 }
];
// وظيفة التحقق للبحث عن طالب بالاسم
وظيفة البحث عن طالب (طالب) {
العودة student.name = = = "ماريا";
}
// نحن نبحث عن طالب بالاسم والحصول على فهرسه
فار ستودينتيندكس = الطلاب.فيندكس (فيندستدنت);
وحدة التحكم.سجل ("فهرس الطلاب:" ، مؤشر الطلاب);
// الإخراج: مؤشر الطالب: 2
في هذا المثال ، حددنا مجموعة من الطلاب مع الطلاب. ثم أنشأنا وظيفة البحث عن الطالب ، والتي تتحقق مما إذا كان اسم الطالب يساوي "ماريا". مررنا هذه الوظيفة إلى طريقة فيندندكس ، التي أجرت بحثا وأعادت فهرس الطالب "ماريا" في المصفوفة. ستكون نتيجة تنفيذ التعليمات البرمجية الإخراج إلى وحدة التحكم: فهرس الطالب: 2.
يمكن استخدام طريقة فيندكس لحل المهام المختلفة المتعلقة بالبحث عن العناصر في صفيف. انها تسمح لك لمعرفة مؤشر عنصر في صفيف واستخدامه لمزيد من معالجة البيانات.
باستخدام طريقة فوريش
طريقة فوريش هي طريقة ملائمة للتكرار من خلال جميع عناصر المصفوفة وتنفيذ إجراءات معينة لكل عنصر. تأخذ هذه الطريقة كوسيطة دالة رد اتصال يتم تنفيذها لكل عنصر من عناصر المصفوفة.
يمكن أن تستغرق وظيفة رد الاتصال التي نمررها إلى طريقة فوريش ما يصل إلى ثلاث وسيطات: عنصر صفيف ، وفهرس عنصر ، والمصفوفة نفسها. وبالتالي ، يمكننا استخدام طريقة فوريش للحصول على فهرس كل عنصر من عناصر المصفوفة.
هنا مثال على استخدام طريقة فوريش لعرض فهارس عناصر الصفيف على الشاشة:
دعونا صفيف = ['التفاح' ، 'الموز' ، 'البرتقال'];
صفيف.لكل(وظيفة (عنصر ، فهرس) {
وحدة التحكم.سجل ('مؤشر العنصر' + عنصر+': '+ مؤشر);
});
نتيجة لتنفيذ هذا الرمز ، سيتم إخراج ما يلي:
مؤشر عنصر التفاح: 0
مؤشر عنصر الموز: 1
- فهرس العنصر البرتقالي: 2
- تسمح لنا طريقة فوريش بتنفيذ إجراءات مختلفة لكل عنصر من عناصر المصفوفة ، بما في ذلك الحصول على فهرسها. هذا مفيد جدا عندما نحتاج إلى العمل مع عناصر المصفوفة داخل وظيفة رد الاتصال.
- باستخدام طريقة الخريطة
تعد طريقة الخريطة واحدة من أكثر الطرق شيوعا المستخدمة للعمل مع المصفوفات في جافا سكريبت. يقوم بتطبيق الوظيفة المحددة على كل عنصر من عناصر المصفوفة وإرجاع مصفوفة جديدة تتكون من النتائج.
بناء جملة طريقة الخريطة هو كما يلي:
آر.خريطة (رد الاتصال ، ثيسارج)
أين:
آر هو صفيف المصدر الذي يتم تطبيق طريقة الخريطة.
رد الاتصال هو وظيفة سيتم استدعاؤها لكل عنصر من عناصر المصفوفة. يتطلب الأمر ثلاث وسيطات: العنصر الحالي ، وفهرس العنصر الحالي ، والمصفوفة نفسها.
ثيسارج (وسيطة اختيارية) هي القيمة المستخدمة مثل هذا عند استدعاء وظيفة رد الاتصال.
مثال على استخدام طريقة الخريطة:
أرقام كونست = [1, 2, 3, 4, 5];
عدد مضاعف = أرقام . خريطة(وظيفة (رقم) {
رقم الإرجاع * 2;
});
وحدة التحكم.سجل (أرقام مزدوجة); // [2, 4, 6, 8, 10]
في هذا المثال ، نستخدم دالة تضاعف كل عنصر من عناصر المصفوفة في 2. نتيجة لذلك ، نحصل على مصفوفة جديدة بقيم مضاعفة.
طريقة الخريطة لديها العديد من الاحتمالات الأخرى. على سبيل المثال ، يمكنك استخدام وظائف السهم في إس 6:
| أرقام كونست = [1, 2, 3, 4, 5]; |
|---|
الأرقام المربعة = الأرقام.الخريطة ((الرقم) = > الرقم * * 2);
وحدة التحكم.سجل (أرقام مربعة); // [1, 4, 9, 16, 25]
وبالتالي ، فإن طريقة الخريطة تجعل العمل مع عناصر المصفوفة أكثر ملاءمة من خلال تطبيق وظيفة معينة على كل عنصر وإنشاء مصفوفة جديدة من النتائج.
باستخدام طريقة التصفية
تسمح لك طريقة التصفية بتصفية عناصر المصفوفة ، وإرجاع مصفوفة جديدة ، والتي ستحتوي فقط على تلك العناصر التي ترجع الدالة الأصلية لها بشكل صحيح. تأخذ هذه الطريقة كإدخال دالة أصلية سيتم تنفيذها لكل عنصر من عناصر المصفوفة.
بناء الجملة لاستخدام طريقة التصفية:
صفيف.مرشح (وظيفة المسند)
ستكون نتيجة المرشح مصفوفة جديدة تحتوي فقط على تلك العناصر التي ترجع الدالة الأصلية لها.
مثال على استخدام طريقة التصفية:
دع الأرقام = [1, 2, 3, 4, 5];
دع حتىأرقام = أرقام.تصفية ((عدد) = > {
رقم الإرجاع % 2 = = = 0;
});
وحدة التحكم.سجل (حتى الأرقام) ؛ / / [2 ، 4]
في هذا المثال ، أنشأنا مجموعة من الأرقام التي تحتوي على أرقام من 1 إلى 5. ثم استخدمنا طريقة التصفية لتصفية الأرقام الزوجية فقط وإنشاء مجموعة جديدة من الأرقام المتساوية. تتحقق الدالة الأصلية مما إذا كان الرقم قابلا للقسمة على 2 بدون الباقي ، ويعود صحيحا فقط للأرقام الزوجية.
ستكون نتيجة تنفيذ التعليمات البرمجية الإخراج إلى وحدة التحكم: [2 ، 4].
يمكن أيضا استخدام طريقة التصفية لتصفية الكائنات حسب خصائص معينة. على سبيل المثال ، يمكنك تصفية مجموعة من كائنات الموظفين بطريقة تحصل فقط على أولئك الذين يزيد راتبهم عن 50000:
السماح للموظفين = [
{الاسم: 'جون' ، الراتب: 30000 },
{الاسم: 'جين' ، الراتب: 60000 },
{الاسم: 'مايك' ، الراتب: 50000 }
];
دع الموظفين المرتفعين = الموظفين.تصفية ((موظف) = > {
عودة الموظف.الراتب > 50000;
});
وحدة التحكم.سجل (الموظفين عالية الراتب) ؛ / / [{الاسم: 'جين' ، الراتب: 60000 }]
في هذا المثال ، أنشأنا مجموعة من كائنات الموظفين التي تحتوي على معلومات حول الموظفين. ثم استخدمنا طريقة التصفية لتصفية الموظفين الذين تزيد رواتبهم عن 50000 فقط. تتحقق الوظيفة الأصلية من خاصية الراتب لكل كائن موظف وتعود بشكل صحيح فقط لأولئك الذين تزيد رواتبهم عن 50000.
ستكون نتيجة تنفيذ التعليمات البرمجية الإخراج إلى وحدة التحكم: [{الاسم: 'جين' ، الراتب: 60000 }].
- باستخدام طريقة تقليل
- تعد طريقة التخفيض واحدة من أقوى الطرق وأكثرها مرونة للعمل مع المصفوفات في جافا سكريبت. يسمح لك بتطبيق وظيفة المجمع على كل عنصر من عناصر المصفوفة ، وتقليلها بالتسلسل إلى قيمة واحدة.
- بناء الجملة من طريقة الحد هو كما يلي:
- صفيف.تقليل (وظيفة (تراكم ، القيمة الحالية ، مؤشر ، مجموعة) {
- // وظيفة الجسم
} ، القيمة الأولية);
معلمات طريقة الحد:
تراكم-تراكم القيمة (القيمة التي يتم إرجاعها في كل تكرار وتمريرها إلى المرحلة التالية);
القيمة الحالية-العنصر الحالي للمصفوفة;
فهرس-فهرس عنصر الصفيف الحالي;
صفيف-صفيف المصدر;
القيمة الأولية (اختياري) هي القيمة الأولية للمجمع. إذا لم يتم تحديده ، فسيتم استخدام العنصر الأول من المصفوفة كقيمة أولية.
مثال على استخدام طريقة الحد:
أرقام كونست = [1, 2, 3, 4, 5];
كونست سوم = أرقام.تقليل(وظيفة (لجنة التنسيق الإدارية ، كور) {
عودة لجنة التنسيق الإدارية + كور;
}, 0);
وحدة التحكم.سجل (مجموع) ؛ / / النواتج: 15
في هذا المثال ، نجد مجموع كل عناصر مصفوفة الأرقام. يتم تمرير القيمة الأولية للمجمع 0 كوسيطة ثانية لطريقة التخفيض. وظيفة تراكم يضيف العنصر الحالي من مجموعة كور مع تراكم أسك وإرجاع النتيجة. في نهاية تنفيذ طريقة التخفيض ، نحصل على مجموع جميع عناصر المصفوفة.
يمكن أيضا استخدام طريقة الاختزال للعثور على الحد الأدنى أو الحد الأقصى أو متوسط القيمة في المصفوفة. للقيام بذلك ، يكفي تغيير وظيفة البطارية وفقا للمهمة.
سؤال وجواب
كيف يمكنني معرفة مؤشر عنصر في صفيف في جافا سكريبت?
لمعرفة فهرس عنصر في مصفوفة في جافا سكريبت ، يمكنك استخدام أساليب إندكسوف() أو فيندندكس (). تقوم طريقة الفهرس() بإرجاع الفهرس الأول الذي يتم من خلاله العثور على هذا العنصر في المصفوفة ، وتقوم طريقة فيندندكس() بإرجاع فهرس العنصر الأول الذي يفي بالشرط المحدد.
هل من الممكن استخدام حلقة للعثور على فهرس عنصر في مصفوفة في جافا سكريبت?
نعم ، يمكنك استخدام ل حلقة للعثور على مؤشر عنصر في صفيف في جافا سكريبت. يمكنك التكرار من خلال جميع عناصر المصفوفة باستخدام الحلقة ومقارنة كل عنصر بالقيمة المطلوبة حتى يتم العثور على تطابق. إذا تم العثور على تطابق ، يمكنك حفظ فهرس هذا العنصر.
كيف يمكنني معرفة جميع فهارس عنصر في صفيف في جافا سكريبت?