У меня есть глобальный объект MyFruits, который может иметь несколько свойств. Как минимум, у него есть два свойства: яблоки и апельсины. Мне нужно выяснить, есть ли у него больше свойств, чем только эти два.Свойства объекта тестирования javascript
На данный момент я строю MyFruits, создаю новый объект только с свойствами Яблок и апельсинов и строгую его и сравниваю длину обеих строк. Что-то вроде этого:
var JsonString1 = JSON.stringify(MyFruits);
var test2 = new Object();
test2.Apples= MyFruits.Apples;
test2.Oranges= MyFruits.Oranges;
var JsonString2= JSON.stringify(test2);
alert(JsonString1.length - JsonString2.length);
В настоящем время, он сначала кажется, что он работает: если MyFruits содержит больше свойств, чем только два основных из них, разница длины будет отличаться от 0.
Там в Object.keys(obj).length
метод, который может подсчитывать количество свойств объекта, но он новый и не поддерживается во всех браузерах, поэтому я не буду его использовать.
Это лучший способ сделать это? Дайте мне знать, если есть лучший способ.
Спасибо за ваши предложения.
См. Https://github.com/kriskowal/es5-shim –
Вы хотите подсчитать количество свойств объекта? –