const arr = [
{
id: 1,
title: "課程 1",
children: [
{ id: 4, title: "課程 1-1" },
{
id: 5,
title: "課程 1-2",
children: [
{ id: 6, title: "課程 1-2-1" },
{ id: 7, title: "課程 1-2-2" },
],
},
],
},
{ id: 2, title: "課程 2" },
{ id: 3, title: "課程 3" },
];
function flaten(arr) {
return arr.reduce((p, v, i) => {
for (let i = 0; i < p.length; i++) {
if (p[i].children) {
delete p[i].children
}
}
return p.concat(v.children ? flaten(v.children).concat(v) : v);
}, [])
}
console.log(flaten(arr))
// reduce 功能很強(qiáng)大呦;
數(shù)組對(duì)象扁平化
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 和后端合作時(shí),很多時(shí)候他們的返回?cái)?shù)據(jù)格式并不一定適合前端展示邏輯處理。其中數(shù)組和對(duì)象的嵌套問題是一個(gè)比較常見的問題...
- flat() 方法會(huì)按照一個(gè)可指定的深度遞歸遍歷數(shù)組,并將所有元素與遍歷到的子數(shù)組中的元素合并為一個(gè)新數(shù)組返回。 ...
- 數(shù)組扁平化 數(shù)組扁平化:使用遞歸實(shí)現(xiàn) 將每一項(xiàng)遍歷,如果某一項(xiàng)為數(shù)組,則讓該項(xiàng)繼續(xù)調(diào)用,這里指定了depth作為扁...
- 1.數(shù)組扁平化初探 ES6中數(shù)組的擴(kuò)展引入了flat和flatMap:數(shù)組的flat方法: 數(shù)組的flatMap方...