2017-10-16 69 views
0

我有一個對象,如下所示;Javascript刪除數組/對象中的遞歸屬性

{ 
    "containers": [ 
     { 
      "fields" : { 
       "fields": { 
        "fields": {}, 
        "prop1": {}, 
        "prop2": {} 
       }, 
       "prop1": {}, 
       "prop2": {} 
      } 
     }, 
     { 
      "fields" : { 
       "fields": { 
        "fields": {}, 
        "prop1": {}, 
        "prop2": {} 
       }, 
       "prop1": {}, 
       "prop2": {} 
      } 
     }  
    ] 
} 

現在「字段」在「字段」內部重複。我希望所有的內部「領域」被刪除。

所以它應該更新到下面;

{ 
    "containers": [ 
     { 
      "fields" : { 
       "prop1": {}, 
       "prop2": {} 
      } 
     }, 
     { 
      "fields" : { 
       "prop1": {}, 
       "prop2": {} 
      } 
     }  
    ] 
} 

我該怎麼做?是否可以在forEach循環或其他任何方式遍歷「容器」時執行刪除操作?

PS:我想解決的cicrcular依賴(如果它是不是有檢測)

回答

0

迭代特性可以這樣待

for (var property in object) { 
    if (object.hasOwnProperty(property)) { 
     // do stuff 
    } 
} 

迭代特性需要這個額外的hasOwnProperty檢查。這是必要的,因爲對象的原型包含對象的附加屬性,這些屬性在技術上屬於對象的一部分。在這裏你感冒也檢查你想要的任何情況。

+0

我如何在迭代時刪除? – testndtv