phpwind怎么做網(wǎng)站整站優(yōu)化工具
JavaScript中的map()方法詳解
map()方法經(jīng)常拿來(lái)遍歷數(shù)組,但是不改變?cè)瓟?shù)組,但是會(huì)返回一個(gè)新的數(shù)組,并且這個(gè)新的數(shù)組不會(huì)改變?cè)瓟?shù)組的長(zhǎng)度
注意:有時(shí)候會(huì)出現(xiàn)這種現(xiàn)象,出現(xiàn)幾個(gè)undefined
const array = [1, 4,9, 16]console.log("原數(shù)組array為",array)const map = array.map(x => {if (x > 5) {return x }})//返回[undefined,undefined,9,16]
其實(shí),map()方法是對(duì)每一項(xiàng)數(shù)組進(jìn)行遍歷,遍歷一次,返回一個(gè)值,給新數(shù)組加上一個(gè)元素,這是就是滿足x=4的元素,只有兩個(gè),所以其他項(xiàng)就返回了undefined。
map方法的實(shí)現(xiàn)
Array.prototype.fakeMap = function(fn,context) {let arr = this;let temp = [];for(let i=0;i<arr.length;i++){let result = fn.call(context,arr[i],i,arr);temp.push(result);}return temp;}