从对象中过滤掉要发送的密钥

时间:2014-10-31 18:58:17

标签: javascript angularjs

我正在尝试从对象中过滤掉一个用于发送的密钥。我有一个大的json树,它有几个子级别,我只想在发送之前过滤掉最底层,部分原因是因为它很大,部分原因是最底层的数据完全没有被使用(所以我想把它删掉。)

所以对象有这样的级别

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

所以我试图简单地切掉这个物体内的教室水平 - 请记住,大约有一百个帐户,所以有很多。)

我之前收到了一个很好的答案,只能过滤到一个对象(For send),如此

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

我想知道,是否可以使用array.map来说除教室以外的所有内容?或者我应该以不同的方式接近这个?

1 个答案:

答案 0 :(得分: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")
        }
}

这具有线性复杂性,但这是最好的解决方案..不确定。我也要从中学习