組方法).png)
文章插圖
在我們?nèi)粘5膶嶋H開發(fā)中,經(jīng)常遇到需要各種需要處理的數(shù)組,JavaScript中雖然提供了各式各樣的方法,但本菜鳥很長一段時間都分不清楚這些是干什么用的,也偷懶不去看……
前一段時間在網(wǎng)上沖浪時,看到一個評論里有人用符號表示了一個方法,覺得十分形象生動,于是便花了半天時間重新學習了一些常見的數(shù)組方法,并用符號、圖標進行具象化的整理,我覺得本菜鳥今天又博學了一點點 。
一、mapmap返回新數(shù)組,不改變原數(shù)組 。原始數(shù)組的每一項都會調(diào)用提供的函數(shù)并返回新的數(shù)組 。[●,●,■,●].map(●=>■)→[■,■,■,■]letarr=['杜甫','李白','李商隱','白居易'];letmapArr=arr.map(e=>'蘇軾');//console.log(mapArr):["蘇軾","蘇軾","蘇軾","蘇軾"]二、filterfilter返回新數(shù)組,不改變原數(shù)組 。數(shù)組內(nèi)的每一項通過函數(shù)處理后,返回一個各項都符合條件的數(shù)組 。在下面這個數(shù)組中,如果想把宋朝的詩詞人過濾出來,就可以使用filter方法 。[○,△,□,△].filter(△=>true)→[△,△]letarr=[{id:0,name:'杜甫',age:'唐'},{id:1,name:'李白',age:'唐'},{id:2,name:'李商隱',age:'唐'},{id:3,name:'蘇軾',age:'宋'},{id:4,name:'辛棄疾',age:'宋'}];letfilterArr=arr.filter(e=>e.age==='宋');/***console.log(filterArr):[*{id:3,name:'蘇軾',age:'宋'},*{id:4,name:'辛棄疾',age:'宋'}*]*/三、findfind返回的是數(shù)組中的一項,不改變原數(shù)組 。通過函數(shù)處理后返回符合元素中的第一項,只要找到符合的就把這一項給返回出去 。[○,△,□,△].find(△=>true)→(first)△letarr=[{id:0,name:'杜甫',age:'唐'},{id:1,name:'李白',age:'唐'},{id:2,name:'李商隱',age:'唐'},{id:3,name:'蘇軾',age:'宋'},{id:4,name:'辛棄疾',age:'宋'}];letfindItem=arr.find(e=>e.age==='宋');/***console.log(findItem):{id:3,name:"蘇軾",age:"宋"};*/四、findIndex返回的是索引值,不改變原數(shù)組 。通過函數(shù)處理后返回符合元素中的第一項的索引值,和find方法一樣,都是只找到第一個符合的就返回 。[○,△,□,△].findIndex(△=>true)→(first)△letarr=[{id:0,name:'杜甫',age:'唐'},{id:1,name:'李白',age:'唐'},{id:2,name:'李商隱',age:'唐'},{id:3,name:'蘇軾',age:'宋'},{id:4,name:'辛棄疾',age:'宋'}];letfindItem=arr.find(e=>e.age==='宋');/***console.log(findItem):{id:3,name:"蘇軾",age:"宋"};*/五、everyevery返回布爾值,不改變原數(shù)組 。every是檢查數(shù)組中的所有元素是否都符合條件,如果都符合返回true,有一項不符合就返回false[○,○,○,△].every(○=>true)→falseletarr=[{id:0,name:'杜甫',age:'唐'},{id:1,name:'李白',age:'唐'},{id:2,name:'李商隱',age:'唐'},{id:3,name:'蘇軾',age:'宋'},{id:4,name:'辛棄疾',age:'宋'}];leteveryFlag=arr.every(e=>e.age==='宋');/***console.log(everyFlag):false*/六、somesome返回的是布爾值 。檢查數(shù)組中是否有任意一個元素符合條件,只要有一個符合就返回true 。[△,○,○,△].some(△=>true)→trueletarr=[{id:0,name:'杜甫',age:'唐'},{id:1,name:'李白',age:'唐'},{id:2,name:'李商隱',age:'唐'},{id:3,name:'蘇軾',age:'宋'},{id:4,name:'辛棄疾',age:'宋'}];letsomeFlag=arr.some(e=>e.age==='宋');/***console.log(someFlag):true*/七、concatconcat返回新數(shù)組 。concat是合并兩個數(shù)組,將兩個數(shù)組合并成一個新的數(shù)組并返回 。[○,□,△].concat([△,○])→[○,□,△,△,○]letarr=[{id:0,name:'杜甫',age:'唐'},{id:1,name:'李白',age:'唐'},{id:2,name:'李商隱',age:'唐'},{id:3,name:'蘇軾',age:'宋'},{id:4,name:'辛棄疾',age:'宋'}];letnewArr=[{id:5,name:'李清照',age:'宋'}];letconcatArr=arr.concat(newArr);/*console.log(concatArr):[{id:0,name:'杜甫',age:'唐'},{id:1,name:'李白',age:'唐'},{id:2,name:'李商隱',age:'唐'},{id:3,name:'蘇軾',age:'宋'},{id:4,name:'辛棄疾',age:'宋'},{id:5,name:'李清照',age:'宋'}]*/八、join返回字符串 。將數(shù)組的每個元素拼接成字符串,沒有傳參就直接拼接,如果有參數(shù)就將參數(shù)當做拼接符連接 。[○,□,△,○].join('-')→○-□-△-○letarr=['貝','加','爾','湖','畔'];letjoinStr=arr.join('-')/*console.log(joinStr):貝-加-爾-湖-畔*/九、reduce累加結(jié)果可以做一個累加器[1,2,3,4].reduce((total,current)=>total+current,10)→20letarr=[1,2,3,4];letreduceRes=arr.reduce((total,current)=>total+current,10);/*console.log(reduceRes):20*/十、forEachforEach改變了原數(shù)組對數(shù)組中每一項都執(zhí)行一次函數(shù) 。[●,●,■,●].forEach(●=>■)→[■,■,■,■]letarr=[{id:0,name:'杜甫'},{id:1,name:'李白'},{id:2,name:'李商隱'}]letforEachArr=arr.forEach(e=>e.age='唐')/***arr:[*{id:0,name:'杜甫',age:'唐'},*{id:1,name:'李白',age:'唐'},*{id:2,name:'李商隱',age:'唐'}*]**forEachArr:undefined*/十一、flatflat改變原數(shù)組flat用于將數(shù)組扁平化,參數(shù)為要扁平化的層數(shù),可以直接傳入Infinity,表示全部扁平化 。[○,□,[△,[△,○]]].fill(Infinity)→[○,□,△,△,○]letarr=[1,2,[[3],4]];arr.flat(Infinity);/*console.log(arr):[1,2,3,4]*/十二、fillfill改變原數(shù)組 。fill作用為填充數(shù)組 。第一個參數(shù)為要填充的內(nèi)容,后面的兩個參數(shù)分別為開始到結(jié)束的位置 。[○,□,△,○].fill(☆,2,3)→[○,□,☆,○]letarr=[1,2,3,4];arr.fill('你好',2,3);/*console.log(arr):[1,2,'你好',4]*/
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 去掉數(shù)組中的某一項的代碼 js從數(shù)組中刪除指定元素
- ios數(shù)組排序的技巧 ios字符串轉(zhuǎn)數(shù)組的方法
- Java基本數(shù)據(jù)類型 java字符串拆分為數(shù)組
- java新手代碼大全 java怎么使用數(shù)組
- php數(shù)組去重函數(shù) php數(shù)組去重的方法
- 讓小腿變細的正確跑步方法
- java中數(shù)組的定義與使用 java數(shù)組聲明和使用
- 快來看看正確的使用方法 詳細的使用方法
- 酒釀詳細的做法 酒釀的做法
- 史上詳細的日本留學費用 留學日本費用
