上一篇文章中我們了解了使用copyWithin()複製數組一部分的方法,請看《js如何使用copyWithin()複製數組一部分》。這次我們來了解元素能否通過指定函數測試的方法,有需要的可以參考參考。
這次我們來出一個小題目,我們一起來算一下還好?
請看題:
我們有2,7,9,13,78,57,91,575,765,23這十個元素存在的數組,現在我們想知道這個陣列中的元素是不是都是大於50的?如果是請回傳true,如果不是請回傳false。
<script> const isBelowThreshold = (currentValue) => currentValue > 50; var arr = new Array(2,7,9,13,78,57,91,575,765,23); console.log(arr.every(isBelowThreshold)); </script>
這個小例子的結果是
#我們看這個例子,在這個題目出來的時候,我們就知道,這個答案一定是false了,畢竟陣列中有2,7,9,13這幾個元素,肯定是沒辦法通過檢測的。
那我們就來分析一下吧。其實其他的都沒有什麼好分析的,主要的就是every
這個方法,我們就來看看吧。
every()方法測試陣列中的所有元素是否都能通過指定函數的測試。它傳回一個布林值。
every方法對陣列中的每個元素執行一次callback
函數,直到找到導致callback回傳false
的元素為止。如果找到這樣的元素,every方法將立即傳回false。否則,callback將為每個元素傳回true
,而每個元素都會傳回true。將僅為已分配的索引呼叫callback。對於已刪除或從未指派的索引,不會呼叫它。
呼叫callback時,可以傳入三個參數:元素值、元素索引和原始陣列。
要注意的是:
如果收到一個空數組,此方法在一切情況下都會傳回true
。
我們來看這個方法的語法結構。
数组名称.every(callback(用于测试的当前值,当前值的索引,当前数组),执行函数时使用的this值)
就說到這裡了,有需要的可以看:javascript高級教學
以上是js數組運用之元素能否通過指定函數的測試的詳細內容。更多資訊請關注PHP中文網其他相關文章!