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就指向此物件。
相關文章
- JavaScript some pointJavaScript
- some thougts about some work as to db admin in paipai.comAI
- gulp some tips
- Some tips of Barcelona
- Some Dictionary Views For ASMViewASM
- Some good websites for C++GoWebC++
- some settings for spacemacs golangMacGolang
- Some difference between mysql & oracleMySqlOracle
- 一張圖看懂JavaScript中陣列的迭代方法:forEach、map、filter、reduce、every、someJavaScript陣列Filter
- JS中some、every、map、filterJSFilter
- Some Chinese Android Developers InformationAndroidDeveloperORM
- WCF to some extent violates the principle of SOA
- FTP Download File By Some Order ListFTP
- Some good articles about SQL*loaderGoSQL
- Some examples of using these views follow.View
- Some adminitration script for RAC % ASMASM
- Some new features in 11g
- Github錯誤之failed to push some refs toGithubAI
- Some ideas About ‘invisible bug‘Idea
- some notes about distributed workflows in GitGit
- Swift 5.7 中的 any 和 some (譯)Swift
- ALL, ANY and SOME Comparison Conditions in SQLSQL
- In some cases it's slimex 15 extra important to operateImport
- [Cexpert-003] You should remember some of ASCII!REMASCII
- How MySQL Can Finally Kick Some MongoDBMySqlMongoDB
- Some Oracle high-availability technologiesOracleAI
- Some indexes or index partitions of table have been marked unusableIndex
- git push 失敗 failed to push some refs to gitGitAI
- 簡述forEach()、map()、filter()、every()、some()的用法Filter
- 軟體定義汽車之SOME/IP介紹
- SOA=SOME/IP?你低估了這件事 | 第二彈
- 簡述forEach()、map()、every()、some()和filter()的用法Filter
- r!sc some about The new aspack 2.1 (1千字)
- forEach、map、filter、find、sort、some等易錯點整理Filter
- 在oracle的子查詢中使用some,any和allOracle
- snmpd: Duplicate IPv6 address detected, some interfaces may not be
- 陣列的forEach,map,filter,reduce,reduceRight,every,some方法陣列Filter
- git push報錯error: failed to push some refs to 'git@github.com:ErrorAIGithub