摘要:數(shù)組扁平化方法遞歸循環(huán)數(shù)組元素,如果還是一個數(shù)組,就遞歸調用該方法注意和方法的返回值不同方法使用來簡化方法的代碼方法方法轉成字符串方法把字符串切割成數(shù)組字符串拼接方法方法則當其中一個返回,則最終結果為,相當于邏輯運算符。
數(shù)組扁平化
const a = [[1], [3, [4, 5, [6, 7]]], [8], [9, [2, 10]]]方法1:遞歸
循環(huán)數(shù)組元素,如果還是一個數(shù)組,就遞歸調用該方法
function flatten1(arr){ let res = []; for(var i=0;i方法2: 使用reduce來簡化方法1的代碼:
function flatten2(arr){ return arr.reduce((prev, cur) => prev.concat(Array.isArray(cur) ? flatten2(cur) : cur),[]) }方法3:toString方法轉成字符串,split方法把字符串切割成數(shù)組,字符串拼接方法
function flatten3(arr){ return arr.toString().split(",").map(item=> +item) }方法4:some則當其中一個返回true,則最終結果為true, 相當于邏輯運算符||。
function flatten4(arr){ while(arr.some(item => Array.isArray(item))){ arr = [].concat(...arr); } return arr; }方法5:every方法表示當數(shù)組每個元素在判定函數(shù)中都返回true,則最終結果為true,相當于邏輯運算符 &&
function flatten5(arr) { while (!arr.every(item => typeof item === "number" && !isNaN(item))) { arr = [].concat(...arr); console.log(arr); } return arr; } console.log(...a)
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/99016.html
摘要:題目已知如下數(shù)組編寫一個程序將數(shù)組扁平化去并除其中重復部分數(shù)據(jù),最終得到一個升序且不重復的數(shù)組實現(xiàn)數(shù)組扁平化去重排序解析數(shù)組扁平化判斷數(shù)組子元素是否為數(shù)組是的話進行遞歸否則把子元素變?yōu)閿?shù)組的執(zhí)行結果為的執(zhí)行結果為數(shù)組去重通過實現(xiàn) 題目: 已知如下數(shù)組:var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, ...
一、什么是數(shù)組扁平化 扁平化,顧名思義就是減少復雜性裝飾,使其事物本身更簡潔、簡單,突出主題。 數(shù)組扁平化,對著上面意思套也知道了,就是將一個復雜的嵌套多層的數(shù)組,一層一層的轉化為層級較少或者只有一層的數(shù)組。 Ps: flatten 可以使數(shù)組扁平化,效果就會如下: const arr = [1, [2, [3, 4]]]; console.log(flatten(arr)); // [1, ...
我們現(xiàn)在來說說怎么寫一下數(shù)組扁平化flat(),怎么樣?簡單說題目就是數(shù)組扁平化(也可以叫做手動封裝flat()方法),如何寫好那? 按照不同的星級進行打分: 五星打分制 滿分: ????? 題目實現(xiàn)扁平化的方法 封裝 flatten 題目描述: 有多級嵌套數(shù)組 :[1, [2, [3, [4, 5]]], 6]將其扁平化處理 輸出:[1,2,3,4,5,6] 什么是扁平化 定義...
摘要:根據(jù)需求的特點,數(shù)組展開需要進行迭代和遞歸?;卮鹞恼麻_頭的問題將多重數(shù)組轉化成單層數(shù)組的過程就是數(shù)組展開,也叫作數(shù)組扁平化一循環(huán)加遞歸最簡單的思路循環(huán)中判斷,如果子元素是數(shù)組則遞歸。 前言 首先什么是數(shù)組展開? 假如現(xiàn)在有這樣一個需求:將后臺的一個多重 List 數(shù)據(jù),展開成一個 List 后,并去重后排序; [a, b, [c, d], [[d],e], f] => [a, b, ...
閱讀 1366·2023-04-26 02:38
閱讀 1688·2021-11-22 09:34
閱讀 1324·2021-09-26 10:19
閱讀 3430·2019-08-29 17:15
閱讀 3700·2019-08-29 12:27
閱讀 1865·2019-08-26 13:51
閱讀 2015·2019-08-26 13:47
閱讀 1171·2019-08-26 12:20