當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


underscore.js _.flatten()用法及代碼示例

Underscore.js_.flatten()function 是 JavaScript Underscore.js 庫中的內置函數,用於展平嵌套到某個級別的數組。生成的數組將沒有深度。它將被完全壓扁。如果傳遞shallow參數,那麽扁平化隻會進行到一層。數組的深度由方括號的數量給出。示例: array[10, [20]] 包含 10 個深度為 1 的元素,因為它僅位於單個括號 ([]) 內,而元素 20 的深度為 2。

用法:

_.flatten(array, [shallow]);

參數:

  • array:該參數用於保存數組元素。
  • shallow:它用於將數組展平為單個級別。

返回值:

它將展平的數組返回到一層或所有層。

傳遞不帶淺參數的列表_.flatten()函數:

_.flatten() 函數用於使嵌套數組展平。它將獲取數組並刪除其所有深度,使其達到 1 層。由於沒有給出第二個參數,因此它的深度將會減少。

例子:此示例顯示傳遞一個不帶淺參數 _.flatten() 函數的列表。

html


<!DOCTYPE html>
<html>
<head>
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
    </script>
</head>
<body>
    <script type="text/javascript">
        console.log(_.flatten([1, [2], [3, [4, [5, [6, [7]]]]]])); 
    </script>
</body>
</html>

輸出:

將第二個參數傳遞給 _.flatten() 函數:

將第二個參數傳遞給函數,以便將 n 深度數組展平為 n-1 深度。在下麵的示例中,元素 1、2 和 3 僅包含在 1 個括號內,因此它們沒有深度。元素 4 在給定數組中具有 2 個深度,因此現在它隻有 1 個深度,因此在元素 1、2 和 3 中看不到它。 5 個元素的深度為 3,因此生成的數組將具有 2 的深度。同樣,第 6 個元素的深度為 6。最後一個元素 7 的深度為 5,因此它將顯示在最內部的數組中。

例子:這個例子顯示了通過 _.flatten() 函數的第二個參數。

html


<!DOCTYPE html>
<html>
<head>
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
    </script>
</head>
<body>
    <script type="text/javascript">
        console.log(_.flatten([1, [2], [3, [4, [5, [6, [7]]]]]], true)); 
    </script>
</body>
</html>

輸出:

使用淺層參數的另一個示例:

在此示例中,元素 1 的深度為 1,因此它將與 2 個元素的數組一起顯示在起始級別。 1st元素包含 2 個元素,而第二個元素也有 2 個元素。第一個元素是 3,第二個元素在數組中也有 2 個元素。同樣,該數組也有 4 個元素的數組。如此下去,最終的數組將包含元素 7。

例子:此示例顯示了淺層參數的使用。

html


<html>
<head>
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
    </script>
</head>
<body>
    <script type="text/javascript">
        console.log(_.flatten([1, [[[2], [3, [4, [5, [6, [7]]]]]]]], true)); 
    </script>
</body>
</html>

輸出:

帶有淺參數的 _.flatten() 函數的另一個示例:

在此示例中,可以在第一層看到元素 1、4、6,因為它們的深度為 1。除此之外,第一層還包含一個 2 個元素的數組和 2 個各 1 個元素的數組。大小為 2 的數組包含下一級的元素 2 和 3。其中一個大小的數組包含 5,另一個包含下一級的 7,因為它們的原始深度為 2。

例子:此示例展示了帶有淺參數的 _.flatten 函數的使用。

html


<!DOCTYPE html>
<html>
<head>
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
    </script>
</head>
<body>
    <script type="text/javascript">
        console.log(_.flatten([1, [[[2], [3]]], [4, [5]], [6, [7]]], true)); 
    </script>
</body>
</html>

輸出:



相關用法


注:本文由純淨天空篩選整理自Sakshi98大神的英文原創作品 Underscore.js _.flatten() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。