בעיית indexOf ו-Internet Explorer

שני פתרונות אלגנטיים לבעיית indexOf ואינטרנט אקספלורר.

אין כמו אינטרנט אקספלורר כדי לספק לכל מתכנת שהוא שלל של בעיות הזויות. מסתבר שהמתודה האולטרא שימושית indexOf שמשמשת אותנו למצוא טקסט מסוים במערך של JavaScript וזמינה החל מגרסת JavaScript 1.5 לא עובדת באינטרנט אקספלורר 6,7 וגם 8.

ישנן שתי דרכים לפתרון מהיר של הבעיה. הראשונה היא להשתמש בפונקצית jQuery שמיועדת לחיפוש במערכים. שם הפונקציה הוא jQuery.inArray. ובמדריך המוקדש לפונקציות העזר של jQuery יש הסבר מקיף + דוגמא כיצד להשתמש בו.

הנה הדוגמא:


arrOfNames = ["david", "moshe", "ran", "omri", "yael"];
$('#myButton6').click(function () {
result = jQuery.inArray("omri", arrOfNames);
alert("Omri is at "+result);
});

פתרון נוסף הוא להוסיף את ה-indexOf כ-prototype של מתודה לאובייקט מסוג Array:


if(!Array.indexOf){
    Array.prototype.indexOf = function(obj){
        for(var i=0; i<this.length; i++){
            if(this[i]==obj){
                return i;
            }
        }
        return -1;
    }
}


הוספת הקוד לעיל ל-JavaScript לא מחייבת שימוש ב-jQuery כמובן ומוסיפה את ה-indexOf כמתודה חדשה למערך ומאפשרת להשתמש בה.

פוסטים נוספים שכדאי לקרוא

בניית אתרי אינטרנט

לאחסן שרת בבית? זה לגמרי אפשרי

האם אפשר להתקין שרת בבית ולחשוף אותו באופן מאובטח החוצה בלי שאיראני ישתלט לי על המקרר? התשובה היא כן.

בינה מלאכותית

יצירת mcp client

יצירת mcp client משלנו כדי שיתחבר לשרתי mcp שונים ויחבר את ה-LLM להכל באופן סטנדרטי.

גלילה לראש העמוד