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: 221

Filed under:
|
|

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

Related posts about JavaScript

Related posts about filter