JavaScript - Array in Array auslesen

jkallup

Erfahrenes Mitglied
Hallo,

möchte gerne Array in Array auslesen - wenn moglich dynamisch.
Lerider bekomme ich das nicht hin.
Hier der Quellcode:

Code:
function grammar_parse(syntax)
{
    var obj;
    var str;
    len = syntax.length;
   
    for (i = 0; i < len; i++) {
        obj = syntax[i];
        Object.entries(obj).forEach(([key, value]) => {
            if ((value == "assign")
            && ((key   == "type")))
            {
// hier
            }
        });
    }
}
 
Die Eingangsparameter in forEach sind das Feldelement und der Index. Feldelement wäre dann ein Array mit dem key/value-Paar.
Wenn ich alles richtig verstehe, müsste es so aussehen:
Code:
    <script>
        var data = [
            {"key1.1": "val1.1", "key1.2": "val1.2"},
            {"key2.1": "val2.2", "key2.2": "val2.2"},
            {"type": "assign"},
            {"key4.1": "val4.1", "key4.2": "val4.2", "key4.3": "val4.3"}
        ];
        function grammar_parse(syntax)
        {
            var obj;
            var str;
            len = syntax.length;
   
            for (var i = 0; i < len; i++) {
                obj = syntax[i];
                Object.entries(obj).forEach((item, idx) => {
                    var key = item[0], value = item[1];
                    console.log(i, idx, key, value);
                    if ((value == "assign")
                    && ((key == "type")))
                    {
                         console.log("found");
                    }
                });
            }
        }
        grammar_parse(data);
    </script>
 
hallo,

das Problem ist, nach dem Object, kommt noch ein Object, und dieses hätte ich gerne
gefiltert ausgegeben, weil danach wieder ein Object erscheinen kann.

{ [ { [ ] } ] }
 
so geht es:
Code:
function grammar_parse(syntax)
{
    var obj;
    var str;
    len = syntax.length;
   
    for (i = 0; i < len; i++) {
        obj = syntax[i];
        Object.entries(obj).forEach(([item, idx]) => {
            console.log(idx);
            if (idx == "assign") {
                console.log("found");
            }
        });
    }
}
Code:
found
Object { lhs: Object, rhs: Object }
 

Neue Beiträge

Zurück