我做了一个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 { //obj is not an instance of Object so obj here is a value };};我没有递归错误(在Chrome中)。你可以用这个做你想做的吗?
如果您需要测试对象是否为数组,请使用
if (obj instanceof Array)
要测试对象是否具有“实体”属性,请使用
if (obj.hasOwnProperty('entity'))要添加(或修改现有的)“实体”属性,请使用
obj.entity = value或
obj['entity'] = value



