Tengo un objeto javascript, y quiero
recursivamente
búsqueda para encontrar las propiedades que contienen un valor específico.¿Busca un objeto javascript para una propiedad con un valor específico?
El javascript con el que estoy trabajando se ha modificado y no es fácil de seguir.
Antecedentes
estoy usando el SDK de Bing Maps AJAX. Tiene la capacidad de agregar capas de mosaico adicionales. Cada capa de mosaico tiene un objeto de fuente de mosaico, que especifica el formato de URI para la URL de mosaico.
Me encontré con un problema donde el URI de origen de azulejos se crea una vez y se almacena en caché. Por lo tanto, no puedo cambiar dinámicamente los parámetros de la URL (por ejemplo, para cambiar los colores de la superposición de mosaicos en función de la hora del día) para cada solicitud.
Tenga en cuenta que este comportamiento es diferente que la API de Google Maps y la API de Bing para WP7, que le permiten crear dinámicamente la URL para cada solicitud de mosaico.
Se busca el URI en caché y se reemplazan dos parámetros específicos, luego se utiliza el URI para recuperar el mosaico.
Dado que se trata de javascript, me gustaría encontrar el URI en caché y reemplazarlo con una función que, en lugar de ello, crea dinámicamente el URI y lo devuelve.
No necesito hacer esto cada tiempo de ejecución, solo deseo y la idea de dónde se está almacenando la propiedad en la memoria caché, por lo que puedo escribir código para hax0r.
pregunta original
Si fijo el URI a algún valor como "floobieblaster", cuando me puse un punto de interrupción, se puede buscar el objeto JavaScript de forma recursiva para "floobieblaster" y obtener la propiedad que está almacenando que ¿valor?
Editar para añadir
El objeto que estoy buscando parece tener una referencia circular, por lo que cualquier código recursivo probablemente causará un stackoverflow.
¿Hay algún truco de editor/depurador que pueda utilizar?
Creo que potencialmente pueda volcar el objeto a JSON y la búsqueda de esa manera. Tal vez hay una mejor manera? - No. Parece que el objeto tiene una estructura circular. – Alan
La biblioteca de Crockford (ver ciclo.js) https://github.com/douglascrockford/JSON-js admite la codificación y decodificación de objetos circulares en json (+ jsonpath). Puede serializar y buscar como sugirió, o simplemente cambiar el código ligeramente para lograr su objetivo directamente. – davin