關於ES5的indexof()和ES7的includes()的區別


早es5的時候就有了查找數組中是否包含某個值的API  indexOf(); 使用方法很簡單,比如有個數組是:

var arr=[2,3,4,"php"]

如果我們想知道數組中有沒有"php"這一項,只需要 indexOf("php")

 

如果存在會返回查找值的位置,找不到會返回-1;但是這有個問題就是,如果查找的值碰巧是NaN呢:

就會返回-1,這不是我們想要的結果,再來看看includes()方法可以做到嗎:

includes()方法正確的判斷了NaN是否存在,而indexOf()不行。

比較:

1,使用方法基本一樣

2,初衷都是查看數組是否包含某個值

3,indexOf沒有includes語義化更強

4,includes更加完善

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM