smart | Webentwicklung
Alles rund um HTML5, PHP, WordPress & Co.

JavaScript: Eigene inArray-Funktion schreiben

3. Dezember 2012
Stephan
JavaScript: inArray-Funktion schreiben

Wer die Funktion in_array von PHP kennt, hat eine solche Funktion in JavaScript vielleicht schon mal vermisst.

Eine solche „inArray“-Funktion dient dazu, zu prüfen, ob ein bestimmtes ELement in einem gegebenen Array vorhanden ist.

In Frameworks, wie z.B. jQuery sind solche Funktionen zwar enthalten, aber nicht immer möchte man für eine kleien Funktion eine ganzes Framework laden.

Aus diesem Grund zeige ich in diesem Artikel, wie ihr ganz einfach selbst eine solche Funktion schreiben könnt.

inArray-Funktion implementieren

Um also zu überprüfen, ob in einem gegebenen Array ein bestimmtes Element vorhanden ist, könnt ihr diese Funktion verwenden:

Array.prototype.inArray = function(value)
{
    for(var i = 0; i < this.length; i++)
    {
        if(this[i] === value)
        {
            return true;
        }
    }
    return false;
}

Wir erweitern hier die Array-Klasse von JavaScript um die Funktion inArray. Die Funktion nimmt als Parameter das gesuchte Element (value).

In der Funktion selbst, iterieren wir durch das entsprechende Array und prüfen, ob das jeweilige Element mit dem übergebenen übereinstimmt. Falls das gesuchte Element gefunden wird, liefert die Funktion true zurück und ansonsten false.

Im Folgenden die Funktion in Aktion:

var fruits = ['Apple', 'Banana', 'Cherry'];

if(fruits.inArray('Apple'))
{
    alert('Das Array beinhaltet das Element Apple!');
}

Damit der Funktionsaufruf sich semantisch gesehen vielleicht ein wenig „schöner“ lesen lässt, können wir die Funkton auch umbenennen:

Array.prototype.includes = function(value)
{
    // [...]
}

Aufruf:

var fruits = ['Apple', 'Banana', 'Cherry'];

if(fruits.includes('Apple'))
{
    alert('Das Array beinhaltet das Element Apple!');
}

Falls euch die Erweitertng der Array-Klasse nicht zusagt, könnt ihr natürlich auch eine ganz normale Funktion schreiben. Auf stackoverflow.com gibt es dazu weitere Beispiele.

Fazit

In JavaScript lässt sich eine inArray-Funktion ohne weiteres nachrüsten und ihr braucht dazu nicht unbedingt ein Framework.

Kennt ihr noch einen besseren bzw. anderen Ansatz?

Kommentare  
0 Kommentare vorhanden
0 Trackbacks/Pingbacks vorhanden
Du bist herzlich eingeladen auch ein Kommentar zu hinterlassen!
Kommentar schreiben

Vielen Dank für dein Kommentar!