Kotlin 陣列 - dropLastWhile() 函式



Kotlin 陣列 dropLastWhile() 函式用於檢索包含所有元素的列表,除了滿足給定謂詞或條件的最後 n 個元素。

此函式採用大於 (>) 運算子並從最後到給定條件刪除所有元素。例如;dropLastWhile{it > 'x'} 刪除 x 之後的所有元素

語法

以下是 Kotlin 陣列 dropLastWhile() 函式的語法 -

fun <T> Array<out T>.dropLastWhile(
    predicate: (T) -> Boolean
): List<T>

引數

此函式接受謂詞函式作為引數。此謂詞函式表示需要從陣列的最後一個索引中刪除的元素數量。

返回值

此函式返回一個列表,其中包含刪除後剩餘的所有元素。

示例 1

以下是一些演示 dropLastWhile() 函式用法的基本示例 -

fun main(args: Array<String>) {
   val number: Array<Int> = arrayOf(1, 2, 3, 4, 5, 6, 7, 8)
   val after_drop = number.dropLastWhile{it>5}
   println("list after dropped: $after_drop")
}

輸出

執行上述程式碼後,我們將獲得以下結果 -

list after dropped: [1, 2, 3, 4, 5]

示例 2

現在,讓我們看另一個例子。我們建立一個儲存字串的陣列。然後,我們使用 dropLastWhile() 函式刪除最後 n 個元素,直到我們得到給定的謂詞 -

fun main(args: Array<String>) {
   val strings: Array<String> = arrayOf("hii", "Hello", "tutorix", "tutorialspoint")
   val after_drop = strings.dropLastWhile{it>"Hello"}
   println("list after dropped: $after_drop")
}

輸出

執行上述程式碼後,我們將獲得以下輸出 -

list after dropped: [hii, Hello]

示例 3

下面的示例建立一個包含 26 個字元的陣列。然後我們使用 dropLastWhile() 刪除最後 n 個元素,直到我們得到 'n' -

fun main(args: Array<String>) {
   // Create an array of characters from 'a' to 'z'
   val alphabet: Array<Char> = ('a'..'z').toList().toTypedArray()
   
   // Drop the last n elements to the given predicate
   val after_Drop = alphabet.dropLastWhile{it>'n'}
   
   println("List after dropping the last n elements: $after_Drop")
}

輸出

以上程式碼產生以下輸出 -

List after dropping the first n elements: [m, n, o, p, q, r, s, t, u, v, w, x, y, z]
kotlin_arrays.htm
廣告