JavaScript中的递归:对象数组里根据id获取name,对象可能有children属性


let array = [ { id: 1, name: "001", children: [ { id: 2, name: "002", }, ], }, { id: 3, name: "003", children: [] }, ]; function getFlatArr(arr) { return arr.reduce((a, item) => { let flatArr = [...a, item]; if (item.children) { flatArr = [...flatArr, ...getFlatArr(item.children)]; } return flatArr; }, []); } console.log(getFlatArr(array)); function getNameByIdFromArr(arr, id) { return getFlatArr(arr).find((item) => item.id === id).name; } console.log(getNameByIdFromArr(array, 2));

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM