使用js递归的方法遍历数组内的数据

<script>
        var a=[
            {
                "message":"111"
            },
            {
                "name":"a1"
            },
            {
                "message":"222"
            },
            {
                "message":"333"
            },
            {
                "name":"a2"
            }
        ]       
    </script>

使用js递归的方法遍历数组内的数据并判断message出现总的次数与当前message是第几个


    var a = [{
            "message": "111"
        },
        {
            "name": "a1"
        },
        {
            "message": "222"
        },
        {
            "message": "333"
        },
        {
            "name": "a2"
        }
    ]
    
    let num = 0;
    findMessage(0) 
    //message出现第:1次
    //message出现第:2次
    //message出现第:3次
    //message共出现:3次
    function findMessage(index) {
        if(a[index].message) {
            num++;
            console.log(`message出现第:${num}次`)
        }

        if(index == a.length) {
            console.log(`message共出现:${num}次`)
            return num;
        }

        index++;
        findMessage(index)
    }

// list是当前数组,index为数组下标,num是message总数
function recursionList(list,index,num){
    if(index < list.length){
        if('message' in list[index]){
            num++
            console.log(`当前出现的message是第${index+1}个`);
        }
        recursionList2(list,index+1,num);
    }else {
        console.log(`message一共有${num}个`);
    }
}

recursionList(a,0,0);