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
، وأعدنا مصفوفة جديدة تحتوي على تلك العناصر. filteredArray
، والتي تأخذ arr
، ومصفوفة متداخلة ، و elem
، وتقوم بإرجاع صفيف جديد. يمثل elem
عنصرًا قد يكون أو لا يكون موجودًا على واحد أو أكثر من الصفائف المتداخلة ضمن arr
. قم بتعديل الوظيفة ، باستخدام حلقة for
، لإرجاع نسخة مفلترة من المصفوفة التي تم تمريرها بحيث يتم إزالة أي صفيف متداخل داخل arr
يحتوي على elem
. 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");'
```