「簡單數組元素」判斷數組中是否包含某個元素的正確搞法
知識
09-15
點擊右上方紅色按鈕關注「小鄭搞碼事」,每天都能學到知識,搞懂一個問題!
JavaScript是一種非常靈活的語言,本身也存在一些設計的相當糟糕的地方,新的標準方法也在不斷更新和填補老標準的坑。
今天來講一個很常見的問題:"判斷數組中是否包含某個元素",只相對於簡單數組的情況,而對於複雜的數組(比如,數組元素是一個JSON格式,判斷是否存在)下一篇來搞,這個問題恐怕是我們日常工作代碼中經常要考慮的。
一、需要索引值
然而,我們的通常解決辦法是使用Array.indexOf。如下
const names = [
"小",
"小鄭",
"小鄭搞",
"小鄭搞碼",
"小鄭搞碼事"
]
console.log(names.indexOf("小鄭")) // 1
看著並沒有什麼問題,通過索引來判斷是否存在,返回的是索引值。存在的時候索引值最小為0。如果代碼中我們又剛剛需要知道這個元素存在的索引值,那麼這對於簡單數組無疑是好的方法。
二、不需要索引值
但是,大部分情況下,我們只想知道數組是否包含某個值。這一個看就是一個是與否的問題,返回布爾值似乎是最好的選擇。所以,我們可以使用Array.includes。如下
console.log(names.includes("小鄭")) // true
最後總結:
還有一種複雜數組的情況,就是當數據元素是一個JSON格式:{id:2,name:"xx"}。該如何正確判斷了。下一篇來講一下。
TAG:小鄭搞碼事 |