jQuery.grep( array, function(elementOfArray, indexInArray), [ invert ] )
מחזירה: מערך
תיאור: מוצא אלמנטים של מערך, שתואמים למסנן של פונקציה. מערך המקורי לא משתנה.
jQuery.grep( array, function(elementOfArray, indexInArray), [ invert ] )
הוספה בגרסה: 1.0
array
מערך לחפש בו.
function(elementOfArray, indexInArray)
פונקציה לעיבוד כל אלמנט.
ארגומנט ראשון בתוך הפונקציה הוא אלמנט, וארגומנט השני הוא אינדקס.
פונקציה מחזירה ערך בולאני.
this יהיה אובייקט של החלון גלובלי.invert
אם "invert" הוא false,
או לא סופק, אז פונקציה מחזירה מערך המכיל כל האלמנטים שעבורם
"פונקציה של קריאה חוזרת" מחזירה true.
אם "invert" הוא true,
אז פונקציה מחזירה מערך המכיל כל האלמנטים שעבורם
"פונקציה של קריאה חוזרת"
מחזירה
false.
שיטה $.grep()
מוחקת אלמנטים ממערך במידה והם לא עוברים בדיקה.
רק אם בדיקת אלמנט מחזירה
true,
אז אלמנט יכנס למערך התוצאה.
פונקצית סינון שולחת שני ארגומנטים: אלמנט של מערך הנוכחי ואינדקס שלו. פונקצית סינון צריכה להחזיר 'true' כדי להכניס אלמנט למערך התוצאה.
דוגמאות
דוגמה 1
מסנן את המערך המקורי של מספרים, מסיר כל מספרי 5, משאיר כל האלמנטים עם אינדקס יותר מ-4. אחרי זה מסיר כל מספרי 9.דוגמה 1 - קוד מלא:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" language="javascript"> $(document).ready(function(){ var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ]; $("div").text(arr.join(", ")); arr = jQuery.grep(arr, function(n, i){ return (n != 5 && i > 4); }); $("p").text(arr.join(", ")); arr = jQuery.grep(arr, function (a) { return a != 9; }); $("span").text(arr.join(", ")); }); </script> <style> div { color:blue; } p { color:green; margin:0; } span { color:red; } </style> </head> <body> <div></div> <p></p> <span></span> </body> </html>
דוגמה 2
מסנן מערך של מספרים, משאיר רק מספרים גדולים ב-0.
$.grep( [0,1,2], function(n,i){
return n > 0;
});
[1, 2]
דוגמה 3
מסנן מערך של מספרים, משאיר רק מספרים שלא גדולים ב-0.
$.grep( [0,1,2], function(n,i){
return n > 0;
},true);
[0]
האם מידע זה היה מועיל?

