Verwenden von underscore.js Ich versuche, zwei Objekte miteinander zu vergleichen, und wenn sie die gleichen sind, möchte ich true zurückgeben. Um dies zu erreichen, verwende ich _.isEqual().Vergleichen von zwei Objekten mit undefinierten Werten mit underscore.js
var a = {0: "2", 1: "11", 2: "1"}
var b = {0: "2", 1: "11", 2: "1"}
_.isEqual(a, b) // returns true
Das funktioniert wie erwartet. Das Problem, auf das ich stoße, ist, wenn ich möglicherweise nicht alle Daten von einem der Objekte zu einer bestimmten Zeit habe. Lassen Sie uns dieses Beispiel verwenden:
var a = {0: "2", 1: undefined, 2: undefined}
var b = {0: "2", 1: "11", 2: "1"}
_.isEqual(a, b) // returns false
ich einen Weg möchte (natürlich mit ._isEqual nicht) für das im Vergleich wahr wenn einige der Werte zurückgeben nicht definiert sind. Irgendwelche Ideen?
Also '_.isAlmostEqual()'? Wenn Sie nur einfache, nicht geschachtelte Objekte wie die gezeigten verwenden, können Sie Ihre eigene Vergleichsfunktion mit nur etwa vier Zeilen Code schreiben. Wenn Sie verschachtelte Objekte zulassen möchten, können Sie sicher eine der vorhandenen Lösungen (einschließlich Underscore) verwenden und diese ändern, um nicht definierte Eigenschaften zu ignorieren. – nnnnnn
Ich glaube nicht, dass das eine Unterstreichungsmethode ist ... haha –