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