💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
> 递归:首先递归一定会有迭代条件,当不满足情况直接return。满足条件然后进行数据处理(在数据处理的时候调用自身),把最总的结果return出去 ### 5\. 将一维数组转换为多维数组(根据数据格式调整) ~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> </head> <body> <script> function Ajax(collback){ $.ajax({ type:"get", url:"./json.json", dataType:"json", success:function(res){ collback(res) } }) } Ajax(res => { let arr = res; let ArrLength=[4,6,9,12] // arr为要处理的数组 a为数组中code的长度 (code的长度必须有规律) function aa(arr, a,pcode) { let arrlist = [] if (a > 9) { return arrlist } else { let filter = arr.filter(ele => { if (ele.code.length == a && ele.code.startsWith(pcode)) { // return ele let item = {} item.name = ele.name; item.code = ele.code; let readylist=aa(arr,a+3, item.code); item.children=changechild(item.code,readylist) arrlist.push(item) } }); return arrlist } } //过滤子数组 e为上一级的code arr为要过滤的数组 function changechild(e,arr){ let news=[] for (let i = 0; i < arr.length; i++) if(arr[i].code.startsWith(e)){ news.push(arr[i]) } return news } let a = aa(arr, 6, "4201") console.log(a) }) //递归:首先递归一定会有迭代条件,当不满足情况直接return。满足条件然后进行数据处理(在数据处理的时候调用自身),把最总的结果return出去 </script> </body> </html> ~~~