Array-ähnliche Objekte

    Was ist das?
    Nur wenige wissen, dass es in JavaScript eine solche Entität wie Array-ähnliche Objekte gibt.

    Das heißt, jeder weiß, dass es solche Dinge wie document.images, document.getElementsByTageName, Argumente im Kontext eines Funktionsaufrufs usw. gibt.

    Aber nicht jeder kann diese Entität zum Beispiel verwenden - Sie können solche Entitäten in vollwertige Arrays umwandeln (durch Kopieren). mit allen damit verbundenen möglichkeiten.

    Normalerweise Array-ähnliches Objekt unterscheidet «Objekt» in dem Formulardesigner und Länge - , die den Prototyp erbt (was nicht klar ist , wo - für mich, solange es ein Geheimnis bleibt) :)

    Go auf die Besonderheiten :
    // Kopierfunktion mit Konvertierung
    var cloneAsArray = function (arrayLikeObject) {
        var isArrayLikeObject = (
            typeof arrayLikeObject === 'object' &&
            typeof arrayLikeObject.length === 'number'
        );
        if (isArrayLikeObject) {
            Array.prototype.slice.call (arrayLikeObject) zurückgeben
        }
    };
    // Anwendungsbeispiel
    var testFuction = function () {
        // Wir müssen alle Argumente an die interne Funktion übergeben, mit Ausnahme des ersten mit einem Array
        var _args = cloneAsArray (Argumente) .slice (1);
        return _args;
    }
    console.log (testFuction (7,1,2,3,4))

    Nachteile:
    Ja, dies ist eine Kopie des Objekts, die natürlich den Speicherverbrauch beeinflusst.

    Vorteile:
    Sie können auf diese Weise große Schleifen vermeiden, wenn Sie eine Transformation über ein Array-ähnliches Objekt benötigen.
    Art der Einsparung auf CPU

    Zusammenfassung:
    Verwenden Sie es nachdenklich :)

    Jetzt auch beliebt: