這篇文章主要介紹“es6中數(shù)組新增常用的方法有哪些”,在日常操作中,相信很多人在es6中數(shù)組新增常用的方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”es6中數(shù)組新增常用的方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗,為客戶提供超值的營銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個人等客戶提供了網(wǎng)站設(shè)計、做網(wǎng)站服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。
es6中數(shù)組新增常用的4個方法是:1、forEach(),用于遍歷數(shù)組,無返回值;2、filter(),過濾掉數(shù)組中不滿足條件的值;3、map(),遍歷數(shù)組,返回一個新數(shù)組;4、reduce(),讓數(shù)組的前后兩項進(jìn)行某種計算,然后返回其值。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
ES6中新增4個很實用的數(shù)組方法,分別有:forEach,filter,map ,reduce。
1.forEach
遍歷數(shù)組,無返回值,不改變原數(shù)組,僅僅只是遍歷 --相當(dāng)于for循環(huán)遍歷
let arr=[23,44,56,22,11,99] let res=arr.forEach(item=>{ console.log(item); //23,44,56,22,11,99 }) let res2=arr.forEach((item,index)=>{ console.log(item,index); //23 0 //44 1 //.... })
2.filter:
filter()函數(shù)過濾掉數(shù)組中不滿足條件的值,如果回調(diào)函數(shù)返回true就留下,返回一個新數(shù)組,不改變原數(shù)組,!!!可以用來做數(shù)組去重
let arr = [1,5,2,16,4,6] //1.找出數(shù)組中的偶數(shù) let newArr=arr.filter((v,i)=> v%2==0) console.log(newArr,'newArr');//2,16,4,6 //2.過濾器 保留為TRUE的結(jié)果 let arrTue=[13,14,9,33] let newArr2=arrTue.filter(item=>(item%3===0)?true:false) console.log(newArr2,'newArr2');//9,33 //3.利用filter去重‘ // 第一種 let arr3=[2,3,5,1,2,3,4,5,6,8],newArr3 function unique(arr){ const res = new Map() return arr.filter((item)=> !res.has(item) && res.set(item,1) ) } console.log(newArr3=unique(arr3),'newArr3');//2,3,5,1,4,6,8 //第二種 let testArray = [ {key:"01",name:'張三'}, {key:"02",name:'小李'}, {key:"03",name:'小羅'}, {key:"04",name:'張三'}, {key:"03",name:'小李'}, ]; let deduplicationAfter = testArray.filter((value,index,array)=>{ //findIndex符合條件的數(shù)組第一個元素位置。 return array.findIndex(item=>item.key === value.key && item.name === value.name) === index }) console.log(deduplicationAfter)
3.map :
map遍歷數(shù)組,返回一個新數(shù)組,不改變原數(shù)組, 映射 一個對一個,映射到一個新數(shù)組
let arr = [6,10,12,5,8] let result = arr.map(function (item) { return item*2 }) let result2 = arr.map(item=>item*2) // es6的箭頭函數(shù)簡寫,若想了解,后面的文章有介紹 console.log(result) console.log(result2) let score = [18, 86, 88, 24] let result3 = score.map(item => item >= 60 ? '及格' : '不及格') console.log(result3)
4.reduce:
reduce()匯總 一堆出來一個(用于比如,算個總數(shù),算個平均),reduce讓數(shù)組的前后兩項進(jìn)行某種計算,然后返回其值,并繼續(xù)計算,不改變原數(shù)組,返回計算的最終結(jié)果,如果不給定初始值,則從數(shù)組的第二項開始遍歷
arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])
,第一個參數(shù)回調(diào)函數(shù),第二個參數(shù)初始值
4.1求和
//第一種給定初始值 var arr = [1, 3, 5, 7]; // 原理: 利用reduce特性 prev初始值設(shè)置0 并把函數(shù)的返回值再次帶入函數(shù)中 var sum = arr.reduce(function (tmp, item,index) { // prev 初始為0 以后則為函數(shù)返回的值 console.log(tmp,item,index); // 0 1 0 // 1 3 1 // 4 5 2 // 9 7 3 return tmp + item; // 數(shù)組各項之間的和 }, 0); console.log(sum); //16 //第二種不給初始值 var arr2 = [1, 3, 5, 7] var result = arr2.reduce(function (tmp, item, index) { //tmp 上次結(jié)果,item當(dāng)前數(shù),index次數(shù)1開始 console.log(tmp, item, index) //1 3 1 // 4 5 2 // 9 7 3 return tmp + item; }) console.log(result,) //16
4.2 求平均數(shù)
var arr = [1, 3, 5, 7] var result = arr.reduce(function (tmp, item, index) { console.log(tmp,item,index); // 1 3 1 // 4 5 2 // 9 7 3 if (index != arr.length - 1) { // 不是最后一次 return tmp + item } else { return (tmp + item)/arr.length } }) console.log(result,'[[[u99') // 平均值 4
到此,關(guān)于“es6中數(shù)組新增常用的方法有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享題目:es6中數(shù)組新增常用的方法有哪些
網(wǎng)站鏈接:http://www.chinadenli.net/article18/pgisdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、軟件開發(fā)、服務(wù)器托管、品牌網(wǎng)站制作、小程序開發(fā)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)