JavaScript some()
some結合every方法一起學習有助於理解,ES5新增此方法。
兩個方法的用法和區別如下:
(1).some方法用於判斷陣列中是否有滿足指定條件的元素。
(2).every方法用於判斷陣列元素是否全部滿足指定條件。
some方法的詳細用法後面會通過程式碼例項進行詳細演示。
關於every方法內容參閱JavaScript every()一章節。
更多關於陣列內容可以參閱JavaScript Array 陣列一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼array.some(callbackfn[, thisArg])
some方法會以索引升序方式對陣列元素執行回撥函式callbackfn。
如果回撥函式返回值為true(可以轉換為true),那麼終止some函式的執行,並返回true,否則返回false。
引數解析:
(1).callbackfn:必需,回撥函式,對陣列的每一個元素執行一次回撥函式,直到回撥函式返回true。
回撥函式可以有三個引數:
第一個引數是當前陣列元素值。
第二個引數是當前陣列元素的索引。
第三個引數就是陣列物件本身。
(2).thisArg:可選,規定回撥函式中this所指向的物件,省略,this指向window物件。
瀏覽器相容:
(1).IE9+瀏覽器支援此方法。
(2).edge瀏覽器支援此方法。
(3).谷歌瀏覽器支援此方法。
(4).火狐瀏覽器支援此方法。
(5).opera瀏覽器支援此方法。
(6).safria瀏覽器支援此方法。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼function CheckIfEven(value,index,array) { if(value % 2 == 0){ return true; } } let numbers =[1, 15, 4, 10, 11, 22]; let evens=numbers.some(CheckIfEven); console.log(evens);
程式碼執行效果截圖如下:
程式碼解析如下:
some方法會以索引升序的方式對每一個陣列元素執行回撥函式。
回撥函式判斷當前陣列元素是否是偶數,如果是則返回true,那麼終止some的執行。
上述程式碼中,當遍歷到元素4,回撥函式返回true,那麼終止整個some的執行,some返回true。
[JavaScript] 純文字檢視 複製程式碼執行程式碼let obj={ num:3 } function CheckIfEven(value,index,array) { if(value*this.num % 2 == 0){ return true; } } let numbers =[1, 15, 4, 10, 11, 22]; let evens=numbers.some(CheckIfEven,obj); console.log(evens);
程式碼執行效果截圖如下:
為some方法傳遞了第二個引數,那麼此回撥函式的this就指向此物件。
相關文章
- some settings for spacemacs golangMacGolang
- Some good websites for C++GoWebC++
- RUST Some None 和OKRustNone
- Some notes about patch workflows
- Some ideas About ‘invisible bug‘Idea
- JS中some、every、map、filterJSFilter
- Some 困難的數論
- some notes about distributed workflows in GitGit
- Cannot dlopen some GPU libraries.GPU
- Github錯誤之failed to push some refs toGithubAI
- Swift 5.7 中的 any 和 some (譯)Swift
- 簡述forEach()、map()、filter()、every()、some()的用法Filter
- forEach、map、filter、find、sort、some等易錯點整理Filter
- SOA=SOME/IP?你低估了這件事 | 第二彈
- 陣列的forEach,map,filter,reduce,reduceRight,every,some方法陣列Filter
- 軟體定義汽車之SOME/IP介紹
- git push報錯error: failed to push some refs to 'git@github.com:ErrorAIGithub
- Android Bugs——Error:java.lang.RuntimeException: Some file crunching failed, see logs for detailsAndroidErrorJavaExceptionAI
- Atom-platformio-ide-terminal 2.10.0-Some installed packages could not be loaded because they containPlatformIDEPackageAI
- vue 基礎入門筆記 06:todo-list 小 demo、some ()、findIndex ()Vue筆記Index
- Node.js 工具庫 BlueBird 的一些例子:map,each 和 someNode.js
- JS中陣列遍歷方法foreach,filter,some,every,map方法介紹與總結JS陣列Filter
- Rust 程式設計影片教程對應講解內容-使用 if let 獲取 Some 的值Rust程式設計
- Rust 程式設計視訊教程對應講解內容-使用 if let 獲取 Some 的值Rust程式設計
- git push origin master 時出現報錯 error: src refspec master does not match any error: failed to push someGitASTErrorAI
- iOS開發_Xcode15打包報錯 rsync error: some files could not be transferred (code 23) at /AppleInternaliOSXCodeErrorAPP
- JavaScript高階:JavaScript物件導向,JavaScript內建物件,JavaScript BOM,JavaScript封裝JavaScript物件封裝
- javaScript系列[06]-javaScript和thisJavaScript
- [Javascript] How javascript read the property?JavaScript
- javaScript系列[05]-javaScript和JSONJavaScriptJSON
- “This” is For JavaScriptJavaScript
- This in JavaScriptJavaScript
- JavaScript -"this"JavaScript
- JavaScriptJavaScript
- javascript ??JavaScript
- 44 道 JavaScript 難題(JavaScript Puzzlers!)JavaScript
- [Javascript] Understanding JavaScript Proxies with Symbol.toPrimitiveJavaScriptSymbolMIT
- JavaScript 教程之JavaScript常用框架簡介JavaScript框架