--- id: 587d7b7b367417b2b2512b15 title: Iterate Through All an Array's Items Using For Loops challengeType: 1 videoUrl: '' localeTitle: يتكرر من خلال جميع عناصر المصفوفة عن طريق استخدام الحلقات --- ## Description
في بعض الأحيان عند العمل مع المصفوفات ، يكون من السهل جدًا التكرار من خلال كل عنصر للعثور على عنصر واحد أو أكثر قد نحتاجه ، أو التعامل مع صفيف استنادًا إلى عناصر البيانات التي تلبي مجموعة معينة من المعايير. تقدم JavaScript العديد من الطرق المضمنة التي يتم تكرار كل منها على المصفوفات بطرق مختلفة قليلاً لتحقيق نتائج مختلفة (مثل every() ، forEach() ، map() ، إلخ. ، ولكن التقنية الأكثر مرونة وتوفر لنا الأعظم مقدار التحكم هو بسيط for حلقة. خذ بعين الاعتبار ما يلي:
وظيفة greaterThanTen (arr) {
let newArr = []؛
لـ (let i = 0؛ i <arr.length؛ i ++) {
إذا (arr [i]> 10) {
newArr.push (آر [أنا])؛
}
}
عودة newArr ؛
}

greaterThanTen ([2، 12، 8، 14، 80، 0، 1])؛
// تُرجع [12 ، 14 ، 80]
باستخدام حلقة for ، تتكرر هذه الوظيفة خلال كل عنصر في الصفيف وتصل إليه ، وتضعه في اختبار بسيط قمنا بإنشائه. بهذه الطريقة ، حددنا بسهولة وببرمجية أي من عناصر البيانات أكبر من 10 ، وأعدنا مصفوفة جديدة تحتوي على تلك العناصر.
## Instructions
لقد حددنا دالة ، filteredArray ، والتي تأخذ arr ، ومصفوفة متداخلة ، و elem ، وتقوم بإرجاع صفيف جديد. يمثل elem عنصرًا قد يكون أو لا يكون موجودًا على واحد أو أكثر من الصفائف المتداخلة ضمن arr . قم بتعديل الوظيفة ، باستخدام حلقة for ، لإرجاع نسخة مفلترة من المصفوفة التي تم تمريرها بحيث يتم إزالة أي صفيف متداخل داخل arr يحتوي على elem .
## Tests
```yml tests: - text: 'filteredArray([[10, 8, 3], [14, 6, 23], [3, 18, 6]], 18) يجب أن يعود [ [10, 8, 3], [14, 6, 23] ]' testString: 'assert.deepEqual(filteredArray([ [10, 8, 3], [14, 6, 23], [3, 18, 6] ], 18), [[10, 8, 3], [14, 6, 23]], "filteredArray([[10, 8, 3], [14, 6, 23], [3, 18, 6]], 18) should return [ [10, 8, 3], [14, 6, 23] ]");' - text: 'filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2) يجب أن تعود [ ["flutes", 4] ]' testString: 'assert.deepEqual(filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2), [["flutes", 4]], "filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2) should return [ ["flutes", 4] ]");' - text: 'يجب أن تعود filteredArray([ ["amy", "beth", "sam"], ["dave", "sean", "peter"] ], "peter") [ ["amy", "beth", "sam"] ]' testString: 'assert.deepEqual(filteredArray([["amy", "beth", "sam"], ["dave", "sean", "peter"]], "peter"), [["amy", "beth", "sam"]], "filteredArray([ ["amy", "beth", "sam"], ["dave", "sean", "peter"] ], "peter") should return [ ["amy", "beth", "sam"] ]");' - text: 'filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3) يجب أن تعود [ ]' testString: 'assert.deepEqual(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3), [], "filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3) should return [ ]");' - text: و filteredArray وظيفة يجب أن تستخدم ل for حلقة testString: 'assert.notStrictEqual(filteredArray.toString().search(/for/), -1, "The filteredArray function should utilize a for loop");' ```
## Challenge Seed
```js function filteredArray(arr, elem) { let newArr = []; // change code below this line // change code above this line return newArr; } // change code here to test different cases: console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3)); ```
## Solution
```js // solution required ```