Warum erstellt $ (). map Erzeugt zirkuläre Referenz

8

Chrome's array.map funktioniert gut, aber jQuerys .map erzeugt irgendwie einen Zirkelverweis. Ich kann keinen Hinweis auf einen Zirkelverweis mit console.log sehen, aber JSON.stringify wirft Uncaught TypeError: Converting circular structure to JSON im zweiten Block.

Führen Sie es auf JSFiddle aus: Ссылка

Oder überprüfen Sie den Code:

%Vor%

Ja, ich benutze den gleichen Callback, und ja, ECMAScript map übergibt die Argumente in einer anderen Reihenfolge, aber es sollte für dieses Beispiel keine Rolle spielen, da es sich um einfache Typen (String, Zahl) handelt.

    
Langdon 18.07.2012, 14:00
quelle

1 Antwort

19

Die Funktion jQuery .map() gibt ein jQuery-Objekt zurück, das ein Array enthält, kein tatsächliches Array, was ein wichtiger Faktor sein kann Unterschied. Versuchen Sie, anzurufen:

%Vor%

Der Aufruf von .get() wird das tatsächliche Array und nicht ein jQuery-Objekt zurückgeben.

    
Anthony Grist 18.07.2012, 14:05
quelle

Tags und Links