javascript filter nested object based on key value
        Posted  
        
            by 
                murray3
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by murray3
        
        
        
        Published on 2012-11-15T22:57:21Z
        Indexed on 
            2012/11/15
            23:00 UTC
        
        
        Read the original article
        Hit count: 318
        
I wish to filter a nested javascript object by the value of the "step" key:
var data = {
"name": "Root",
"step": 1,
"id": "0.0",   
"children": [
    {
    "name": "first level child 1",
    "id": "0.1",
    "step":2,
    "children": [
        {
        "name": "second level child 1",
        "id": "0.1.1",
        "step": 3,
        "children": [
            {
            "name": "third level child 1",
            "id": "0.1.1.1",
            "step": 4,
            "children": []},
        {
            "name": "third level child 2",
            "id": "0.1.1.2",
            "step": 5,
            "children": []}
        ]},
                ]}
]
};
var subdata = data.children.filter(function (d) {
        return (d.step <= 2)});
This just returns the unmodified nested object, even if I put value of filter to 1. does .filter work on nested objects or do I need to roll my own function here, advise and correct code appreciated. cjm
© Stack Overflow or respective owner