typescript递归遍历

最近几天刚接触了node.js的回调函数

下面直接上干货

//先定义一下数据类型

interface entity {

    id: number;

    title: string;

    children?: children[];

}

//定义子级数据类型

interface children {

    id: number;

    title: string;

    children?: children[];

}

//定义回调函数,方法名是returnft

const returnft = (it: entity) => {

    if (it.children && it.children.length) {

        it.title="11"     //所有遍历到的title都改成“11”

        it.children.map(res=>returnft(res))    //再次调用本身

    }

    return it;

}

//定义传入的参数

const where = {

    id: 1,

    title: "父级",

    children: [{

        id: 2,

        title: "子级1",

        children: [{

            id: 3,

            title: "子级2"

         }]

    }]

}

//别忘记调用自己写的回调函数

const list: entity = returnft(where)

console.log(list)

//下面是输出结果

 {

    id: 1,

    title: "11",

    children: [{

        id: 2,

        title: "11",

        children: Array

    }]

}

 

你可能感兴趣的:(typescript,node,ts递归遍历,ts迭代,tree,js)