陣列扁平化

2021-10-09 11:03:36 字數 2131 閱讀 1000

1.es6中的array.prototype.flat()

flag函式預設引數是1。

var arr1 =[1

,2,3

,[4,

5]];

arr2 = arr1.

flat()

;console.

log(arr2)

;// [1, 2, 3, 4, 5]

設定引數為2。

var arr1 =[1

,2,3

,[4,

5],[

[1,2

],[1

,2],

[1,2

]]];

arr2 = arr1.

flat(2

);console.

log(arr2);[

1,2,

3,4,

5,1,

2,1,

2,1,

2]

設定引數為infinity,不管陣列有幾級,都扁平化

var arr1 =[1

,2,3

,[4,

5],[

[1,2

],[1

,2],

[1,2

]]];

arr2 = arr1.

flat

(infinity);

console.

log(arr2);[

1,2,

3,4,

5,1,

2,1,

2,1,

2]

2.把陣列變為字串

var arr1 =[1

,2,3

,[4,

5],[

[1,2

],[1

,2],

[1,2

]]];

arr2 = arr1.

tostring()

;//字串不會出現中括號

var newarr = arr2.

split

(",");

result = newarr.

map(res =>

number

(res)

)console.

log(result)

;

3.正規表示式

var arr1 =[1

,2,3

,[4,

5],[

[1,2

],[1

,2],

[1,2

]]];

str1 =

json

.stringify

(arr1)

console.

log(str1)

;result = str1.

replace

(/(\[|\])/g,""

);console.

log(result)

;var a = result.

split

(",").

map( res =>

number

(res)

) console.

log(a)

;//[1, 2, 3, 4, 5, 1, 2, 1, 2, 1, 2]

4.遞迴處理

var arr =[1

,2,3

,[4,

5],[

[1,2

],[1

,2],

[1,2

]]];

let result =

;function

myflat

(arr)

else}}

myflat

(arr)

console.

log(result)

;

陣列扁平化

原陣列 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...