精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Javascript中七種方法在Array中查找指定項

開發 前端
在Javascript中有很多方法可以實現查詢在一個array中是否包含一個元素。當然可以使用for循環或者Array.indesOf()方法。現在,ES6添加了一些更有用的方法在array中搜索我們想要的結果。

在Javascript中有很多方法可以實現查詢在一個array中是否包含一個元素。當然可以使用for循環或者Array.indesOf()方法。現在,ES6添加了一些更有用的方法在array中搜索我們想要的結果。

[[434551]]

indexof()方法

確定array中是否包含某個元素的最快的,最簡單方法就是使用array.indexof()。這個方法檢查array是否包含某個指定的元素,返回它的index,如果不包含,返回-1。 

  1. array1: (5) ['蘋果''李子''栗子''柿子''梨'
  2. 測試文件.html:13 const apple = array1.indexOf("蘋果"
  3. 測試文件.html:14 結果: 0 
  4. 測試文件.html:15 ---------------------------- 
  5. 測試文件.html:18 array1: (5) ['蘋果''李子''栗子''柿子''梨'
  6. 測試文件.html:19 const lizi = array1.indexOf("李子"
  7. 測試文件.html:20 結果 1 
  8. 測試文件.html:21 ---------------------------- 

 默認情況下,indexof從array的第一個元素開始搜索,在最后一個元素結束。你可以傳入第二個參數,指定開始元素的index(0開始)。 

  1. array1: (5) ['蘋果''李子''栗子''柿子''梨'
  2. 測試文件.html:25 const lizi1 = array1.indexOf("李子",1) 
  3. 測試文件.html:26 結果 1 
  4. 測試文件.html:27 ---------------------------- 
  5. 測試文件.html:30 array1: (5) ['蘋果''李子''栗子''柿子''梨'
  6. 測試文件.html:31 const lizi2 = array1.indexOf("李子",2) 
  7. 測試文件.html:32 結果 -1 
  8. 測試文件.html:33 ---------------------------- 
  9. 測試文件.html:36 array1: (5) ['蘋果''李子''栗子''柿子''梨'
  10. 測試文件.html:38 const shizi = array1.indexOf("柿子",2) 
  11. 測試文件.html:39 結果: 3 
  12. 測試文件.html:40 ---------------------------- 

需要注意的是,indexof返回第一個搜索到的結果,也就是array中第一個出現的元素的index。

lastIndexOf()方法

Javascript還提供了一個lastIndexOf()方法,顧名思義,它從array的最后一個元素開始搜索,在第一個元素停止。返回第一個搜索到的元素的index,也就是array中最后一次出現的元素的index。同樣,也可以傳入第二個參數,跳過一些搜索的元素。 

  1. array1: (5) ['蘋果''李子''栗子''柿子''梨'
  2. 測試文件.html:44 const shizi1 = array1.lastIndexOf("柿子"
  3. 測試文件.html:45 結果: 3 
  4. 測試文件.html:46 ---------------------------- 
  5. 測試文件.html:49 array1: (5) ['蘋果''李子''栗子''柿子''梨'
  6. 測試文件.html:51 const lianpen = array1.lastIndexOf("臉盆"
  7. 測試文件.html:52 結果: -1 
  8. 測試文件.html:53 ---------------------------- 
  9. 測試文件.html:55 array1: (5) ['蘋果''李子''栗子''柿子''梨'
  10. 測試文件.html:57 const shizi2 = array1.lastIndexOf("柿子",2) 
  11. 測試文件.html:58 結果: -1 

在所有的瀏覽器中,包括IE9及以上的版本,indexOf()和lastIndexOf()都是區分大小寫的。

includes()方法

inclludes方法是ES6的一部分,可以用來確定array是否包含某個元素。如果包含,返回true, 不包含,返回false。是一個比較好的方法檢查某個元素是否存在,結果為一個boolean類型。 

  1. array1 (5) ['蘋果''李子''栗子''柿子''梨'
  2. 測試文件.html:63 const shizi3 = array1.includes("柿子"
  3. 測試文件.html:64 結果: true 

默認情況下,includes()搜索整個array, 你仍然可以傳入第二個參數,指定開始搜索的位置。

  1. array1 (5) ['蘋果''李子''栗子''柿子''梨'
  2. 測試文件.html:69 const lizi3 = array1.includes("李子",1) 
  3. 測試文件.html:70 結果: true 
  4. 測試文件.html:71 ---------------------------- 
  5. 測試文件.html:73 array1 (5) ['蘋果''李子''栗子''柿子''梨'
  6. 測試文件.html:75 const lizi4 = array1.includes("李子",2) 
  7. 測試文件.html:76 結果: false 
  8. 測試文件.html:77 ---------------------------- 

includes也適用于與array中包含其他基本類型的元素。 

  1. array2 (8) [1, 2, empty, '1''2'nulltrue, undefined] 
  2. 測試文件.html:82 result = array2.includes(null
  3. 測試文件.html:83 結果: true 
  4. 測試文件.html:85 result1 = array2.includes(true
  5. 測試文件.html:86 結果: true 
  6. 測試文件.html:88 result2 = array2.includes(1) 
  7. 測試文件.html:89 結果: true 
  8. 測試文件.html:91 result3 = array2.includes(undefined) 
  9. 測試文件.html:92 結果: true 
  10. 測試文件.html:93 ---------------------------- 

includes和indexOf對于NaN有不同的反應。 

  1. array3 (8) [1, 2, empty, '1', NaN, nulltrue, undefined] 
  2. 測試文件.html:98 result4 = array3.includes(NaN) 
  3. 測試文件.html:99 結果: true 
  4. 測試文件.html:101 result5 = array3.indexOf(NaN) 
  5. 測試文件.html:102 結果: -1 
  6. 測試文件.html:103 ---------------------------- 

includes()在IE中不支持。

find()方法

跟includes不同,find在array中每一個元素執行一個條件,返回第一個符合條件的元素本身。 

  1. array1: (5) ['蘋果''李子''栗子''柿子''梨'
  2. 測試文件.html:107 result6 = array1.find(item=>item==="柿子"
  3. 測試文件.html:108 結果: 柿子 
  4. 測試文件.html:109 ---------------------------- 

上例中使用了arrow function,它是ES6中的概念。

如果沒有元素能夠滿足條件函數,則返回undefined。 

  1. array1: (5) ['蘋果''李子''栗子''柿子''梨'
  2. 測試文件.html:113 result7 = array1.find(item=>item==="臉盆"
  3. 測試文件.html:114 結果: undefined 

你也可以傳入第二個參數,作為當前元素的index,如果你想比對index時尤其有用。 

  1. array1: (5) ['蘋果''李子''栗子''柿子''梨'
  2. 測試文件.html:119 result8 = array1.find((item,index)=>item==="柿子" && index>2) 
  3. 測試文件.html:120 結果 柿子 
  4. 測試文件.html:122 result9 = array1.find((item,index)=>item==="李子" && index>2) 
  5. 測試文件.html:123 結果 undefined 

find的另一個好處是,適用于array中元素是object的時候。 

  1. array4 (4) [{…}, {…}, {…}, {…}]0: {name'小李'}1: {name'小王'}2: {name'小周'}3: {name'小歐'}length: 4[[Prototype]]: Array(0) 
  2. 測試文件.html:129 result10 = array4.find(item=>item.name==="小周"
  3. 測試文件.html:130 結果 {name'小周'

find()不可用與IE瀏覽器

some()方法

some方法跟find相似,不同的是返回的結果是true或者false。 

  1. array1: (5) ['蘋果''李子''栗子''柿子''梨'
  2. 測試文件.html:135 result11 = array1.some(item=>item==="柿子"
  3. 測試文件.html:136 結果 true 

find也可用于元素為object的array的搜索。 

  1. array4 (4) [{…}, {…}, {…}, {…}]0: {name'小李'}1: {name'小王'}2: {name'小周'}3: {name'小歐'}length: 4[[Prototype]]: Array(0) 
  2. 測試文件.html:141 result12 = array4.some(item=>item.name==="小周"
  3. 測試文件.html:142 結果 true 

some()可用于IE9及以上版本,以及其他現代瀏覽器。

every()方法

every()方法要求array中每一個元素都符合一個條件。 

  1. array5 (5) [3, 4, 5, 6, 7] 
  2. 測試文件.html:148 result13 = array5.every(item=>item>3) 
  3. 測試文件.html:149 結果 false 
  4. 測試文件.html:151 result14 = array5.every(item=>item>2) 
  5. 測試文件.html:152 結果 true 

every方法可以應用于現代瀏覽器及IE9及以上版本。

大小寫的搜索

indexOf()和includes()都是區分大小寫的,也就是說你必須要指定相同的字符才可搜索array。 

  1. array6 (3) ['Kate''Tom''Jerry'
  2. 測試文件.html:158 result14 = array6.indexOf('tom'
  3. 測試文件.html:159 結果 -1 
  4. 測試文件.html:161 result15 = array6.includes("tom"
  5. 測試文件.html:162 結果 false 

實現不區分大小寫的搜索的一種方法是使用map方法把每一個元素都修改為小寫。 

  1. array6 (3) ['Kate''Tom''Jerry'
  2. 測試文件.html:167 result16 = array6.map(item=>item.toLowerCase()).indexOf('tom'
  3. 測試文件.html:168 結果 1 
  4. 測試文件.html:170 result17 = array6.map(item=>item.toLowerCase()).includes('tom'
  5. 測試文件.html:171 結果 true 

另一個方法是使用some方法,一步中變小寫和比較同時完成。 

  1. array6 (3) ['Kate''Tom''Jerry'
  2. 測試文件.html:177 result17 = array6.some(item=>item.toLowerCase()==='tom'
  3. 測試文件.html:178 結果 true 

filter()方法

得到array中所有滿足某個條件的元素,并返回一個新的array。 

  1. array5 (5) [3, 4, 5, 6, 7] 
  2. 測試文件.html:183 result19 = array5.filter(item=>item>3) 
  3. 測試文件.html:184 結果 (4) [4, 5, 6, 7] 

如果沒有滿足條件的元素,filter()返回一個空的array。 

  1. array5 (5) [3, 4, 5, 6, 7] 
  2. 測試文件.html:189 result19 = array5.filter(item=>item>9) 
  3. 測試文件.html:190 結果 [] 

總結

本文中,我們介紹了7中在array中判斷某個元素是否存在的方法。很多人在這時候都可能會問,為什么會有這么多方法呢? 為什么不用一種方法來實現所有的功能呢?

簡單的答案可能就是:這些方法都設計來完成一個不同的目的。 

  • 想要知道元素的位置index,使用indexOf()
  • 想要知道元素最后出現在array中的位置index,使用lastIndexOf()
  • 只想知道array中是否包含某個元素,使用includes()
  • 想得到符合條件的元素,使用find()
  • 如果array中元素是object類型,用some()判斷某個元素是否存在
  • 判斷array中每一個元素都符合某個條件,用every()方法
  • 得到array中滿足某個條件的所有元素的新array,使用filter方法
責任編輯:華軒 來源: 今日頭條
相關推薦

2022-05-24 14:37:49

React條件渲染

2011-12-16 14:45:36

JavaJSP

2011-05-30 13:37:46

JSP

2022-08-31 10:09:55

網絡彈性智能建筑

2023-05-22 14:23:26

機器人安全

2016-09-28 20:05:22

2025-01-15 10:46:23

開發JavaScript集合

2013-07-25 09:32:58

虛擬化數據丟失

2013-10-16 15:56:41

虛擬化數據丟失

2024-10-08 09:06:01

Spring應用程序配置

2022-10-27 08:09:33

2023-04-18 15:57:30

2024-07-29 08:00:00

2022-09-30 10:48:12

AR制造業

2020-06-23 14:51:13

JavaScript字符字符串

2021-07-02 10:43:52

IT人才首席信息官人才招聘

2016-12-27 19:19:51

2009-10-29 16:32:24

查看Oracle用戶的

2022-01-17 21:11:32

Windows 11Windows微軟

2022-12-12 09:12:30

點贊
收藏

51CTO技術棧公眾號

女子免费在线观看视频www| 国产97在线播放| 欧美,日韩,国产在线| 青青草视频在线观看| 青青草国产成人99久久| 久久精品国产成人精品| 性农村xxxxx小树林| 亚洲精品动漫| 亚洲欧美日韩在线不卡| 久久亚洲午夜电影| 国产99视频在线| 国产亚洲网站| 蜜臀久久99精品久久久久久宅男 | 免费久久99精品国产自| 在线观看免费视频一区| 激情欧美丁香| 久久久91精品国产一区不卡| 在线视频 日韩| 免费视频观看成人| 欧美天天综合色影久久精品| 伊人婷婷久久| 狠狠色伊人亚洲综合网站l| 国产一区二区免费看| 国产成人一区二区三区| 久久久久久久黄色| 97精品国产福利一区二区三区| 亚洲精品www久久久| 99精品视频免费版的特色功能| 超碰aⅴ人人做人人爽欧美| 亚洲码国产岛国毛片在线| 国产三级精品在线| 欧美美最猛性xxxxxx| 亚洲成人网在线播放| 欧美午夜在线播放| 欧美午夜理伦三级在线观看| www.成年人视频| 日本免费在线观看| 国产亚洲精品7777| 久久精品国产精品国产精品污| 91丨porny丨在线中文| 久久午夜精品| 国内精品久久久久影院 日本资源| 久久国产精品国语对白| 欧美呦呦网站| 国产一区二区三区视频免费| 亚洲av人人澡人人爽人人夜夜| 国产一区二区久久久久| 欧美日韩另类国产亚洲欧美一级| 蜜臀av午夜一区二区三区| 精品丝袜在线| 精品久久久香蕉免费精品视频| 日韩中文字幕亚洲精品欧美| 好操啊在线观看免费视频| 国产精品欧美一区二区三区| 日韩精品电影网站| 国产精品秘入口| 久久精品在线免费观看| 欧美成ee人免费视频| 天堂av网在线| 久久欧美中文字幕| 欧洲av一区| 国产福利小视频在线观看| 91麻豆产精品久久久久久| 久久久精品动漫| 色网站在线免费观看| 2019国产精品| 亚洲成人一区二区三区| 日本韩国在线视频爽| 成人欧美一区二区三区在线播放| 伊人久久大香线蕉成人综合网| 欧美精品电影| 亚洲老司机在线| 亚洲精品无码国产| 成人性生活视频| 亚洲一区二区不卡免费| 精品国产免费av| 自拍偷自拍亚洲精品被多人伦好爽| 色婷婷久久一区二区三区麻豆| 天天爽天天爽夜夜爽| 久久人体av| 日韩美女在线视频| 激情综合丁香五月| 欧美色爱综合| 久久91精品国产| 97人人澡人人爽人人模亚洲| 日本在线不卡一区| 99re6热在线精品视频播放速度| 风流老熟女一区二区三区| 成人app下载| 日韩免费电影一区二区三区| 伦xxxx在线| 精品久久久一区二区| xxxx一级片| 99久久人爽人人添人人澡| 亚洲美女免费精品视频在线观看| 国产精品久久久久久久av| 一区二区三区四区电影| 91禁国产网站| 中文字幕二区三区| 国产白丝网站精品污在线入口| 精品国产_亚洲人成在线| 触手亚洲一区二区三区| 亚洲一区精品在线| 成年网站在线播放| 77成人影视| 中文字幕精品久久| 日韩精品一区二区av| 蜜桃视频一区二区三区| 高清日韩一区| 亚洲麻豆精品| 粉嫩av一区二区三区免费野| 91在线第一页| 国产探花在线精品| 久久青草福利网站| 一区二区三区播放| wwww国产精品欧美| 国内自拍中文字幕| 成人做爰视频www| 亚洲缚视频在线观看| 天堂网中文在线观看| 夜夜嗨一区二区| 亚洲影院在线看| 国产精品ⅴa有声小说| 五月激情综合婷婷| 少妇性l交大片7724com| av伊人久久| 26uuu日韩精品一区二区| 99热精品在线播放| 国产精品欧美一区喷水| 可以在线看的黄色网址| 高清日韩欧美| 久久天天躁狠狠躁老女人| 国产污视频网站| av中文字幕一区| 国内精品国产三级国产99| 国产福利一区二区三区在线播放| 日韩久久精品电影| 亚洲熟妇无码另类久久久| 国产日韩在线观看一区| 日本a口亚洲| 国产盗摄xxxx视频xxx69| 天天射天天色天天干| 一区二区三区在线看| 日韩av在线中文| 精品日本12videosex| 欧美又大粗又爽又黄大片视频| 欧美一级特黄aaaaaa| 亚洲免费观看高清| 日本77777| 99国内精品久久久久久久| 国产精品v片在线观看不卡| 日本天堂影院在线视频| 天天色综合天天| 中文字幕精品视频在线| 激情婷婷久久| 国内精品二区| 国产高清自产拍av在线| 欧美精品一区二区久久久| 欧美成人aaaaⅴ片在线看| 国产精品一卡二卡在线观看| 激情五月五月婷婷| 97久久综合精品久久久综合| 九九热这里只有精品6| 亚洲av永久无码国产精品久久| 亚洲激情自拍视频| 日本成人在线免费| 亚洲国产91| 久久精品日产第一区二区三区精品版| 国内激情视频在线观看| 精品视频www| 日日夜夜操视频| 中文一区二区在线观看| 日本高清一区二区视频| 欧美国产91| 国产一区二区视频在线免费观看| 欧美日韩在线观看首页| 亚洲人成网7777777国产| 日本欧美www| 亚洲天堂2014| 99re这里只有| 喷白浆一区二区| 91制片厂免费观看| 国产精品x8x8一区二区| 情事1991在线| 麻豆网站在线看| 精品国产乱码久久久久久牛牛| 国产午夜久久久| 91视频精品在这里| 午夜免费高清视频| 欧美777四色影| 欧美日韩亚洲免费| 高清不卡一区| 欧美亚洲另类在线| 91涩漫在线观看| 日韩欧美第一区| 人妻丰满熟妇av无码区| 国产精品国产自产拍高清av王其| 丰满少妇一区二区三区专区| 免费看黄裸体一级大秀欧美| 中文字幕av日韩精品| 成午夜精品一区二区三区软件| 国产成人综合av| jizzjizz亚洲| 国产视频精品va久久久久久| 7777久久亚洲中文字幕| 午夜精品视频一区| www.黄色com| 99精品视频一区| 一二三级黄色片| 久久av最新网址| 成人国产在线看| 成人影视亚洲图片在线| 国产日韩久久| 欧美高清一级片| 国产脚交av在线一区二区| 日本无删减在线| 在线一区二区日韩| 天天干天天操av| 欧美一区二区三区在线看| 日韩三级一区二区| 亚洲成av人片| 91视频免费在线看| 国产精品毛片高清在线完整版| 久久久久9999| 国产福利电影一区二区三区| 中文字幕在线导航| 国产日产高清欧美一区二区三区| 免费看污污视频| 久久精品国产68国产精品亚洲| 蜜桃网站成人| 免费成人三级| 国产传媒欧美日韩| 日韩精品成人| 91免费欧美精品| 欧洲精品久久久久毛片完整版| 欧美有码在线观看| 涩涩视频在线播放| 性色av一区二区咪爱| 欧美人与动牲性行为| 日韩中文在线不卡| 爱久久·www| 一区二区三区在线播放欧美| 深夜福利在线观看直播| 亚洲精品一区二区精华| 丰满熟妇乱又伦| 日韩午夜电影在线观看| 国产伦精品一区二区三区视频痴汉| 在线国产亚洲欧美| 激情视频网站在线观看| 欧美性黄网官网| 亚洲婷婷综合网| 欧美小视频在线| 精品国产乱子伦| 欧美亚洲免费在线一区| 最近中文字幕av| 欧美精品亚洲一区二区在线播放| 亚洲一区二区色| 欧美日韩夫妻久久| 国产精品久久久久久久久久久久久久久久| 欧美性猛交xxxx乱大交退制版| 欧美一级黄视频| 欧美日韩在线三区| 国产精品伦一区二区三区| 欧美一区国产二区| 狠狠躁日日躁夜夜躁av| 亚洲国模精品私拍| 青青免费在线视频| 中文字幕日韩欧美| av软件在线观看| 欧美精品videosex牲欧美| 国产中文在线播放| 国产精品日韩欧美| 成人av在线播放| 国产伦精品一区二区三区四区视频 | 欧美成人一区二区三区电影| 污污的视频在线观看| 国内成人精品视频| 欧美日韩视频免费观看| 成人免费视频在线观看超级碰| 亚洲精品a区| 麻豆久久久9性大片| 残酷重口调教一区二区| 中文字幕第50页| 亚洲欧美bt| 亚洲欧美日本一区二区三区| 成人性生交大合| 在线观看日本中文字幕| 国产精品女上位| 日韩免费观看一区二区| 欧美性大战xxxxx久久久| 草草视频在线播放| 亚洲人成电影网| 中文字幕伦理免费在线视频| 欧美亚洲在线观看| 成人在线视频国产| 欧美人与性禽动交精品| 91精品二区| 日韩精品无码一区二区三区免费| 麻豆国产欧美日韩综合精品二区 | 在线观看国产区| 精品久久久久久亚洲综合网 | 超碰成人在线观看| 日韩欧美一区二区三区四区| 欧美涩涩视频| 国产 porn| av一二三不卡影片| 麻豆明星ai换脸视频| 一本到不卡精品视频在线观看| 国产精品一区二区人人爽| 日韩高清a**址| 污污片在线免费视频| 国产精品影片在线观看| 日韩电影不卡一区| 最新av网址在线观看| 日韩电影免费在线观看网站| 久久久久国产免费| 中文字幕在线不卡一区二区三区| 中文在线第一页| 亚洲第一区第二区| av网址在线看| 国产美女精品视频| 一区二区三区日本久久久| av在线com| 国产一区二区三区不卡在线观看| 99在线视频免费| 欧美性猛交xxxx黑人| 黄色av网址在线| 欧美超级乱淫片喷水| 欧美黑粗硬大| 天堂资源在线亚洲资源| 亚洲影院一区| 污污污www精品国产网站| 亚洲婷婷综合色高清在线| 日韩国产亚洲欧美| 亚洲人av在线影院| 日韩av大片站长工具| 免费精品视频一区二区三区| 99视频精品| 久久久久亚洲无码| 午夜久久久久久| 香蕉久久国产av一区二区| 久久久久久久久久久久av| 18国产精品| 丰满少妇久久久| 成人h动漫精品| 日本少妇全体裸体洗澡| 精品国产一区二区三区忘忧草| h片在线免费| 5566中文字幕一区二区| 欧美一区精品| 亚洲黄色小说在线观看| 亚洲一二三区视频在线观看| www.热久久| 久久久久亚洲精品| 好吊妞视频这里有精品| 欧美一区二区三区爽大粗免费| 99久久婷婷国产综合精品电影| 永久免费看片在线播放| 日韩毛片中文字幕| 日韩一区二区三区免费| 亚洲欧美日韩精品久久久| 韩国三级在线一区| 久久久久99精品| 日韩毛片在线看| 黄色精品视频| 在线看视频不卡| 国产河南妇女毛片精品久久久| 久久9999久久免费精品国产| 亚洲国产精品成人av| 欧美电影网站| 亚洲资源在线网| 国产成人精品影视| 天天操中文字幕| 中文字幕少妇一区二区三区| 99国内精品久久久久| 日本中文字幕一级片| 99久久精品一区二区| 波多野结衣电影在线播放| 久久精品国产免费观看| 成人午夜三级| 欧美成人黄色网址| 亚洲精品高清视频在线观看| 日本精品一二区| 国产精品高潮粉嫩av| 欧美精品国产一区| 爱爱免费小视频| 制服丝袜在线91| 欧美gv在线观看| 亚洲一区二区在| 99re8在线精品视频免费播放| 亚洲大尺度在线观看| 超薄丝袜一区二区| 亚洲伊人春色| 色偷偷中文字幕| 91黄视频在线观看| 丝袜在线观看| 日韩国产欧美精品| jvid福利写真一区二区三区| 少妇一级淫片日本| 国内精品中文字幕|