在進(jìn)行前端開(kāi)發(fā)的時(shí)候避免不了會(huì)遇到很多數(shù)組的情況,其中不乏會(huì)存在數(shù)組套數(shù)組或者需要合并數(shù)組的情況,今天小千就來(lái)給大家介紹一下如何將數(shù)組扁平化處理。
數(shù)組扁平化概念:用于將嵌套多層的數(shù)組“拉平”,變成一維的數(shù)組
方法一:通過(guò)concat將二維數(shù)組轉(zhuǎn)化為一維數(shù)組
原理:通過(guò)將擴(kuò)展運(yùn)算符,將數(shù)組內(nèi)部展開(kāi),并通過(guò)concat連接兩個(gè)字符串的方式返回一個(gè)新的數(shù)組。
方法二:使用數(shù)組方法join和字符串方法split進(jìn)行數(shù)組扁平化
原理:通過(guò)join方法將數(shù)組轉(zhuǎn)化為以點(diǎn)隔開(kāi)的字符串,在使用split把轉(zhuǎn)化的字符串轉(zhuǎn)化成字符串?dāng)?shù)組,通過(guò)。map方法將內(nèi)部字符串轉(zhuǎn)化數(shù)字類型的
方法三:通過(guò)正則方法和JSON.stringify方法和數(shù)組方法
原理:首先將數(shù)組轉(zhuǎn)化為字符串 使用字符串匹配正則規(guī)則 替換所有的 '[' ']' 和方法二類似 split 主要是講字符串轉(zhuǎn)化為數(shù)組,map將字符串?dāng)?shù)組轉(zhuǎn)化為數(shù)字
方法四:函數(shù)遞歸
原理:判斷獲取的當(dāng)前值是不是數(shù)組,是數(shù)組就遞歸調(diào)用
方法五:通過(guò)reduce方法進(jìn)行數(shù)組扁平化
原理:主要是通過(guò)reduce的依次執(zhí)行,判斷當(dāng)前拿到的對(duì)象是不是數(shù)組, 是數(shù)組就進(jìn)行一次函數(shù)遞歸將內(nèi)部所有數(shù)組扁平化(與方法四類似)
方法六:ES6新增方法flat()
學(xué)習(xí)web前端,可以參考千鋒web前端培訓(xùn)班提供的web前端學(xué)習(xí)路線,該學(xué)習(xí)路線對(duì)從零基礎(chǔ)小白到web前端初級(jí)開(kāi)發(fā)工程師,web前端高級(jí)開(kāi)發(fā)工程師,后面的web前端大神級(jí)開(kāi)發(fā)工程師都有一個(gè)明確清晰的指導(dǎo),根據(jù)千鋒web前端培訓(xùn)機(jī)構(gòu)提供的web前端學(xué)習(xí)路線圖可以讓你對(duì)學(xué)習(xí)web前端開(kāi)發(fā)需要掌握的知識(shí)有個(gè)清晰的了解,并快速入門(mén)web前端開(kāi)發(fā)。想要獲取前端完整學(xué)習(xí)路線和免費(fèi)的學(xué)習(xí)資料可以添加我們的web前端技術(shù)分享交流qq群:857920838 加群找群管理領(lǐng)取即可,等你來(lái)哦~~