Найти значение в сложном объекте JavaScript
По сути, у меня есть сложный объект, который получает API GPT (тег издателя Google) с помощью этой функции:
googletag.pubads().getSlots();
Значение объекта выглядит примерно так:
Мне нужно знать, есть ли способ сравнить значение каждого свойства со значением X, не сталкиваясь с проблемой рекурсивности (поскольку объект огромен, и мне нужно несколько раз проверить его). Также я попытался преобразовать этот объект. в JSON с JSON.stringify(), а затем попытался получить значение с помощью регулярного выражения, быстрее, но с этой опцией у меня возникла проблема с циклическим значением объекта.
Какие-либо предложения?
1 ответ
Это проще Попробуйте преобразовать его в массив, а затем использовать фильтр для сравнения с вашим значением.
var objGoogle = {};
var arrayObjectGoogle = [objGoogle];
var filter = arrayObjectGoogle.filter(function(obj){
obj.yourAttr == yourValue; });
это даст вам второй массив с найденными значениями. позже, индексируйте массив, чтобы подобрать нужное вам значение.