摘要:具體內(nèi)容請(qǐng)參考。感謝大家閱讀,另外,在這邊幫朋友推一個(gè)愛心眾籌,希望大家能夠奉獻(xiàn)點(diǎn)愛心,朋友母親,身患直腸癌,目前在北京武警總醫(yī)院接收治療,可留言留下您的聯(lián)系方式,日后感激大家
判斷數(shù)組是否包含某一特定元素是很常見的需求,javascript中有很多實(shí)現(xiàn)方法,今天有空匯總了一下,按兼容性由強(qiáng)到弱排序,返回類型一律為boolean:
假設(shè)數(shù)組為arr,目標(biāo)元素為target
循環(huán)遍歷:(arr, target) => { for (var i = 0; i < arr.length; i++) { if (arr[i] === target) { return true; } } return false; }
兼容性:es1
相等算法:===
indexOf:(arr, target) => { return arr.indexOf(target) >= 0; }
兼容性:es5
相等算法:===
filter:(arr, target) => { return arr.filter(el => el === target).length > 0; }
兼容性:es5
相等算法:===
some:(arr, target) => { return arr.some(el => el === target); }
兼容性:es5
相等算法:===
find:(arr, target) => { return arr.find(el => el === target) !== undefined; }
兼容性:es2015
相等算法:===
findIndex:(arr, target) => { return arr.findIndex(el => el === target) >= 0; }
兼容性:es2015
相等算法:===
includes:(arr, target) => { return arr.includes(target); }
兼容性:es2016
相等算法:SameValueZero
==Tips:==
=== 與 SameValueZero的區(qū)別在于
NaN === Nan => false 而 SameValueZero認(rèn)為兩個(gè)NaN之間是相等的。具體內(nèi)容請(qǐng)參考 MDN。如果想把上面===的實(shí)現(xiàn)變成SameValueZero的實(shí)現(xiàn)可以寫成:
el === target || (Object.is(el, NaN) && Object.is(target, NaN))
在如今es6、babel如此流行的情況下,大部分時(shí)候我們直接用includes就行啦。
感謝大家閱讀,另外,在這邊幫朋友推一個(gè)愛心眾籌,希望大家能夠奉獻(xiàn)點(diǎn)愛心,朋友母親,身患直腸癌,目前在北京武警總醫(yī)院接收治療,可留言留下您的聯(lián)系方式,日后感激大家!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/97859.html
摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。 題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)最近開始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...
摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。 題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)最近開始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...
摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。 題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)最近開始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...
摘要:將輸出新數(shù)組判斷數(shù)組中的每一項(xiàng)是否都滿足條件,都滿足返回,此方法相較于之前的幾個(gè)方法,返回值有差異,是一個(gè)布爾值。輸出數(shù)組用于將一組值轉(zhuǎn)化為數(shù)組輸出數(shù)組返回一個(gè)布爾值,表示某個(gè)數(shù)組中是否包含給定的值。 1、join(sep):將數(shù)組元素組合成字符串。以sep為分隔符,省略的話則默認(rèn)使用逗號(hào)為分隔符。 var arr = [a,b,c]; console.log(arr.join(-))...
閱讀 1031·2021-11-08 13:22
閱讀 2968·2021-09-29 09:45
閱讀 2924·2021-09-09 11:52
閱讀 2352·2019-08-30 13:20
閱讀 3871·2019-08-29 13:28
閱讀 1469·2019-08-29 12:32
閱讀 2917·2019-08-29 11:10
閱讀 1724·2019-08-26 13:34