ES6使用 Array.includes 處理多重條件用法實例分析
本文實例講述了ES6使用 Array.includes 處理多重條件用法。分享給大家供大家參考,具體如下:
includes [ɪnk'lu:dz] 包含,包括
includes() 方法用來判斷一個數(shù)組是否包含一個指定的值,如果是返回 true,否則false。
舉個例子:
// 條件語句
function test(fruit) {
if (fruit == 'apple' || fruit == 'strawberry') {
console.log('red');
}
}
乍一看,這么寫似乎沒什么大問題。然而,如果我們想要匹配更多的紅色水果呢,我們是不是得用更多的 || 來擴展這條語句?
我們可以使用 Array.includes(Array.includes) 重寫以上條件句。
function test(fruit) {
// 把條件提取到數(shù)組中
const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries'];
if (redFruits.includes(fruit)) {
console.log('red');
}
}
我們把紅色的水果(條件)都提取到一個數(shù)組中,這使得我們的代碼看起來更加優(yōu)雅,整潔。

fromIndex 大于等于數(shù)組長度
如果fromIndex 大于等于數(shù)組長度 ,則返回 false 。該數(shù)組不會被搜索:
var arr = ['a', 'b', 'c'];
arr.includes('c', 3); //false
arr.includes('c', 100); // false
計算出的索引小于 0
如果 fromIndex 為負值,計算出的索引將作為開始搜索searchElement的位置。如果計算出的索引小于 0,則整個數(shù)組都會被搜索。
// 數(shù)組長度是3
// fromIndex 是 -100
// computed index 是 3 + (-100) = -97
var arr = ['a', 'b', 'c'];
arr.includes('a', -100); // true
arr.includes('b', -100); // true
arr.includes('c', -100); // true
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
更多關于JavaScript相關內容可查看本站專題:《JavaScript操作DOM技巧總結》、《JavaScript頁面元素操作技巧總結》、《JavaScript事件相關操作與技巧大全》、《JavaScript查找算法技巧總結》、《JavaScript數(shù)據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
- ES6中Array.includes()函數(shù)的用法
- JS Array.slice 截取數(shù)組的實現(xiàn)方法
- javascript Array.remove() 數(shù)組刪除
- js利用Array.splice實現(xiàn)Array的insert/remove
- Javascript中Array.prototype.map()詳解
- Javascript中關于Array.filter()的妙用詳解
- JavaScript中數(shù)組Array.sort()排序方法詳解
- 你應該了解的JavaScript Array.map()五種用途小結
- js Array.slice的8種不同用法示例
相關文章
代碼塊高亮可復制顯示js插件highlight.js+clipboard.js整合
最近有個需求是將jsp頁面上的某一段代碼塊格式化成類似CSDN的代碼塊的樣式,而且很多平臺都使用了這樣的功能,下面就為大家簡單分享一下2021-02-02
JS格式化數(shù)字金額用逗號隔開保留兩位小數(shù)
JS格式化數(shù)字金額只留兩位小數(shù)。寫了個格式化函數(shù)。可以控制小數(shù)位數(shù),自動四舍五入,感興趣的朋友可以了解下2013-10-10
《JavaScript高級程序設計》閱讀筆記(三) ECMAScript中的引用類型
ECMAScript中的引用類型,主要包括Object類、Boolean類、Number類、String類、instanceof運算符2012-02-02

