7.4 KiB
title, localeTitle
| title | localeTitle |
|---|---|
| Drop it | أسقطها |
تذكر استخدام Read-Search-Ask إذا واجهتك مشكلة. حاول إقران البرنامج
واكتب الكود الخاص بك 
شرح المشكلة:
بشكل أساسي بينما الوسيطة الثانية غير صحيحة ، يجب عليك إزالة العنصر الأول من يسار الصفيف الذي تم تمريره كوسيطة أولى.
روابط ذات صلة
تلميح: 1
يمكنك استخدام Array.prototype.shift() أو التصفية التي يجب أن تكون أكثر دراية لحل هذه المشكلة في بضعة أسطر من التعليمات البرمجية.
حاول أن تحل المشكلة الآن
تلميح: 2
يُرجع مفتاح Shift العنصر الذي تمت إزالته والذي لا نحتاجه حقًا ، فكل ما نحتاجه هو الصفيف المعدَّل المتبقي.
حاول أن تحل المشكلة الآن
تلميح: 3
إذا كنت لا تزال غير قادر على معرفة كيفية حلها مع التحول ، ثم حاول حلها مع مرشح ، والتحقق من كيفية عمل مرشح ، إذا كنت على دراية به ، ثم يمكنك جعل رمز مع التحول.
حاول أن تحل المشكلة الآن
تنبيه المفسد!
الحل في المستقبل!
الحل الأساسي للكود:
`function dropElements(arr, func) { // drop them elements. var times = arr.length; for (var i = 0; i < times; i++) { if (func(arr[0])) { break; } else { arr.shift(); } } return arr; }
// test here dropElements([1, 2, 3, 4], function(n) {return n >= 3;}) `
شرح الشفرة:
- قم بإنشاء حلقة للتحقق من كل عنصر.
- ثم تحقق من الوظيفة المقدمة إذا كانت صحيحة ثم توقف ، وإلا قم بإزالة هذا العنصر.
- العودة الصفيف.
روابط ذات صلة
حل الشفرة المتوسطة:
`function dropElements(arr, func) { return arr.slice(arr.findIndex(func) >= 0 ? arr.findIndex(func): arr.length, arr.length); }
// test here dropElements([1, 2, 3, 4], function(n) {return n >= 3;}); `
شرح الشفرة:
- استخدم الدالة
findIndex()للعثور على فهرس العنصر الذي يمرر الشرط - شريحة المصفوفة من فهرس وجدت حتى النهاية
- هناك حالة حافة واحدة! إذا لم يتم استيفاء الشرط ضد أي من العناصر 'findIndex' سيعود
-1الذي يفسد الإدخال إلىslice(). في هذه الحالة ، استخدم عامل تشغيل شرطي بسيط لإرجاعfalseبدلاً من-1. والمشغل الثلاثي (؟
إرجاع فهرس العثور على العناصر المطلوبة عندما يكون الشرط true، وطول المصفوفة بطريقة أخرى بحيث تكون قيمة الإرجاع عبارة عن مصفوفة فارغة كما هو موضح.
روابط ذات صلة
الحل المتقدم للكود:
`function dropElements(arr, func) { while(arr.length > 0 && !func(arr[0])) { arr.shift(); } return arr; }
// test here dropElements([1, 2, 3, 4], function(n) {return n >= 3;}); `
شرح الشفرة
- استخدم حلقة
Array.prototype.shift()معArray.prototype.shift()لمتابعة التدقيق وإسقاط العنصر الأول من الصفيف حتى ترجع الدالة true. كما أنه يتأكد من أن المصفوفة ليست فارغة أولاً لتجنب حلقات لا نهائية. - أعد الصفيف الذي تمت تصفيته.
روابط ذات صلة
ملاحظات للمساهمات:
لا تقم بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها مشابهة ولكن أفضل ، فحاول دمج (أو استبدال) الحل المشابه الموجود.- أضف شرحًا لحلك.
- تصنيف الحل في واحدة من الفئات التالية - الأساسي والمتوسط والمتقدم .

- الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي محتويات رئيسية ذات صلة . (
لا تزيل أي أسماء مستخدمين حالية )
نرى
![]()
Wiki Challenge Solution Templateكمرجع.


