// 編寫乙個程式,將陣列扁平化,並去除其中重複部分資料,
// 最終得到乙個公升序而且不重複的陣列
let arr = [1,2,3,[4,5,6,7],[1,23,5,[1,2,3,45,5]],10]
//方法一:
//使用 es6 中提供的 array.prototype.flat 處理
//然後在使用 set 方法去除重複項
arr = arr.flat(infinity)
console.log(arr)
// […new set(arr)] 展開運算子 將 set 物件獲取出來
set(arr)) 也行
arr = array.from(new set(arr)).sort((a,b)=>a-b)
//方法二:
//將陣列變成字串,不管陣列有幾級都直接 輸出為字串
//最後都會變為以逗號分隔的字串,沒有中括號和層級了相當於直接扁平化
arr = arr.tostring().split(』,』).map(item=>)
//方法三:
arr = json.stringify(arr).replace(/[|]/g,』』).split(』,』).map(item=>number(item))
//"「1,2,3,4,5,6,7,1,23,5,1,2,3,45,5,10"」
//方法四:
//基於陣列的some 方法進行判斷檢測 : ==》 布林值
//find 找到返回當前值 沒找到 返回undefined
//isarray 檢測是否為陣列型別 (挺準確的)
//驗證陣列中的某一項有沒有符合函式中提供的規則
while(arr.some(item=>array.isarray(item)))
//方法五:
//遞迴
~function()
res.push(item)}}
fn(_this)
return res
}}()
arr = arr.myflat()
陣列扁平化
原陣列 const arr 1,2,3,4 5,6,7,8 9 希望輸出 1,2,3,4,5,6,7,8,9 方法一 遞迴 function arrdelayering arr else return newarr let newarr arrdelayering arr 1,2,3,4,5,6,7...
陣列扁平化
今天看到了陣列扁平化處理,猶記得之前面試被問到過,下面介紹一下陣列扁平化處理的幾種形式 題目要求 將陣列 arr 1,2,3,4,5,6,7,8,9 轉化為 1,2,3,4,5,6,7,8,9 1 遞迴 var arr 1,2,3,4,5,6,7,8,9 方法一 遞迴 function flatfu...
扁平化陣列
第一次遇到陣列扁平化已經是在3k遊戲的筆試題裡,當時是用了遞迴的方法。因為對一些陣列方法,字串方法十分的不熟練 扁平化陣列的核心都是,遍歷陣列元素,遇到陣列就拆,不是陣列就加進去。var arr 1,2,3,4,5 console.log bianpinghua arr tostring split...