1. 程式人生 > 其它 >Array.prototype.flat() (扁平化陣列 )

Array.prototype.flat() (扁平化陣列 )

技術標籤:javascriptjavascriptvue.jses6arrayhtml5

扁平化陣列 Array.prototype.flat方法

使用方法總結

1. Array.prototype.flat() 用於將巢狀的陣列“拉平”,變成一維的陣列。該方法返回一個新陣列,對原資料沒有影響。
2. 不傳引數時,預設“拉平”一層,可以傳入一個整數,表示想要“拉平”的層數。
3. 傳入 引數<=0 的整數將返回原陣列,不“拉平”。
4. Infinity 關鍵字作為引數時,無論多少層巢狀,都會轉為一維陣列。
5. 如果原陣列有空位,Array.prototype.flat() 會跳過空位。

程式碼示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
     <script>
var _array = ['蘋果',["狗","貓"],["動物",["家禽",["鴨"]]]] //1、不傳遞任何引數的時候,預設“拉平一層” var _arrayOne = _array.flat() var _arrayTwo = _array.flat(1) console.log(_arrayOne) //['蘋果',"狗","貓","動物",["家禽",["鴨"]]]
console.log(_arrayTwo)//['蘋果',"狗","貓","動物",["家禽",["鴨"]]] //2、傳入一個整數引數,這個整數引數就是拉平的層數 var _arrayThree = _array.flat(2) var _arrayFour = _array.flat(3) console.log(_arrayThree)//['蘋果',"狗","貓","動物","家禽",["鴨"]] console.log(_arrayFour)//['蘋果',"狗","貓","動物","家禽","鴨"] //3、Infinity 關鍵字作為引數時,無論多少層巢狀,都會轉為一維陣列 var _arrayFive = _array.flat(Infinity) console.log(_arrayFive)//['蘋果',"狗","貓","動物","家禽","鴨"] //4、傳入引數<=0 的整數將返回原陣列,不“拉平”。 var _arraySix = _array.flat(0) console.log(_arraySix) //['蘋果',["狗","貓"],["動物",["家禽",["鴨"]]]] //5、如果原陣列有空位,flat() 會跳過空位 var _array = ['蘋果',"狗","貓", ,,] console.log(_array.flat()) //['蘋果',"狗","貓"] 會直接把空格還有空值給越過去,但是如果是""(空字串就不會越過) </script> </body> </html>