Я пытаюсь написать функцию для сравнения имен свойств, но я не уверен, как это сделать. Это то, что я пробовал, и он не работает должным образом.Сравнение имен свойств в JavaScript
function propCompare(objA, objB) {
// assumes both objects have same length
for (var prop in objA) {
if (objB[prop] === undefined)
return false;
else {
return true;
}
}
}
То, что я пытаюсь получить, если objA
имеет свойство, которое objB
не имеет, то не беспокойтесь проверять дальше, а просто вернуть false
. Если все соответствует, верните true
.
Объекты не имеют длины. Кроме того, вероятно, вы должны использовать 'Object.keys' для итерации только собственных свойств. Два объекта могут иметь одни и те же собственные свойства, но могут иметь разные свойства в цепочке прототипов. – elclanrs
«Если все соответствует, верните true» - верните true; должен быть перемещен за петлю. В противном случае вы проверяете, совпадает ли первое свойство objA с первым из objB – xoxox
. Так что все свойства в B должны быть в A? – epascarello