Найти значение в сложном объекте 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;  });

это даст вам второй массив с найденными значениями. позже, индексируйте массив, чтобы подобрать нужное вам значение.

Другие вопросы по тегам