Использование underscore.js Я пытаюсь сравнить два объекта друг с другом, и если они такие же, я хочу вернуть true. Для этого я использую _.isEqual().Сравнение двух объектов с неопределенными значениями с использованием underscore.js
var a = {0: "2", 1: "11", 2: "1"}
var b = {0: "2", 1: "11", 2: "1"}
_.isEqual(a, b) // returns true
Это работает должным образом. Проблема, с которой я сталкиваюсь, заключается в том, что у меня могут не быть всех данных с одного из объектов за данный момент времени. Давайте использовать этот пример:
var a = {0: "2", 1: undefined, 2: undefined}
var b = {0: "2", 1: "11", 2: "1"}
_.isEqual(a, b) // returns false
Я хотел бы способ (очевидно, не используя ._isEqual) для этого, чтобы вернуть истинную, если некоторые из значений сравниваемых не определены. Есть идеи?
Итак '_.isAlmostEqual()'? Если вы имеете дело только с простыми, не вложенными объектами, такими как показанные, вы можете написать свою собственную функцию сравнения только с четырьмя строками кода. Если вы хотите разрешить вложенные объекты, я уверен, что вы могли бы взять одно из существующих решений (включая Underscore) и изменить его, чтобы игнорировать неопределенные свойства. – nnnnnn
Я не думаю, что это метод подчеркивания ... haha –