Как найти, если строка появляется в любом месте объекта? - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть несколько объектов. Они структурированы по-разному. Например:

var obj1 = {
  'key1':'value',
  'key2':[{
     'somekey':'somevalue',
     'nestedObject': [{
        'something':'{{THIS STRING}}'
      }]
   }]
 }

var obj2 = {
      'key5':'some text {{THIS STRING}} some more text',
      'name':[{
         'somekey':'somevalue'
       }]
     }

Есть намного больше объектов, чем это, и их структуры могут быть бесконечно разными.

Я ищу способ найти {{ЭТА СТРОКА}} , независимо от того, где он находится в объекте и какой текст его окружает. Все, что мне нужно знать, это истинно / ложно, если оно вообще присутствует в значениях любого данного объекта, независимо от того, насколько глубоко оно вложено в объект.

Спасибо!

1 Ответ

0 голосов
/ 01 ноября 2019

Примечание. Это действительно быстрый метод, но он работает не во всех случаях использования. например, если ваши ключи могут содержать желаемую строку, это даст неправильный вывод. См. Комментарии ниже.

Не самое чистое решение, но вы можете превратить ваш объект в строку JSON, используя JSON.stringify(), а затем искать нужную строку внутри этой строки.

var obj1_str = JSON.stringify(obj1);
var isInFile = obj1_str.includes("your_string"); //true if your string is there, false otherwise.
...