Я сделал jsfiddle , который пересекает каждый объект, массив и значение в объекте JS, например ...
function scan(obj)
{
var k;
if (obj instanceof Object) {
for (k in obj){
if (obj.hasOwnProperty(k)){
//recursive call to scan property
scan( obj[k] );
}
}
} else {
//not an Object so obj[k] here is a value
};
};
Я не получаю ошибку рекурсии (в Chrome ). Можете ли вы использовать это, чтобы делать то, что хотите?
Если вам нужно проверить, используется ли объект в массиве if (obj instanceof Array)
Чтобы проверить, обладает ли объект свойством "entity" use if (obj.hasOwnProperty('entity'))
Чтобы добавить (или изменить существующее) свойство «entity», используйте obj.entity = value
или obj['entity'] = value