2014-10-31 92 views
0

我想篩選出一個要發送的對象的一個​​密鑰。我有一個很大的json樹,它有幾個子級別,我只是想在發送它之前過濾掉最底層,部分原因是它很大,部分原因是最底層的數據完全沒有使用(所以我想把它剪掉)。從對象中篩選出一個密鑰用於發送

所以對象有這樣

Account: {name: name, id: id, 
          school: {name: name, id: id, 
               classroom: {name: name, id: id } } } 

水平所以我想簡單地切出這個對象-keep心中有大約一百個帳號,以便有噸)裏面的教室水平。

我以前收到了巨大的答案過濾下降到僅1對象(發送),像這樣

$scope.ids = $scope.myScope.map(function(obj){ 
    return obj.id; 
}); 

我想知道,是不是也許可以使用array.map說使用一切,除了教室?或者我應該以不同的方式來解決這個問題?

+0

'return {name:name,id:id,school:{name:name,id:id}}'? – Johan 2014-10-31 19:08:56

回答

0

個反覆的解決方案將要經過的每個並刪除了教室對象這樣

obj = {"Account": {"name": "name", "id": "id", 
          "school": {"name": "name", "id": "id", 
            "classroom": {"name": "name", "id": "id" } } }} 

for (key in obj){ 
    try{ 
     delete obj[key].school.classroom 
    } 
    catch(err){ 
     console.log("didn't have classroom object") 
     } 
} 

這具有線性複雜性,這是最好的解決辦法..不知道。我也從中學習