成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

map與forEach的小結(jié)

tomato / 2836人閱讀

摘要:方法功能創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果。。方法功能遍歷,對(duì)數(shù)組中的元素依次處理。

Array.map()方法
功能 : 創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果。。
參數(shù) : (currentValue,index,arrOrigin)(當(dāng)前元素的值,當(dāng)前元素的索引,當(dāng)前元素的數(shù)組對(duì)象)
使用 :

 var arr = [1,2,3];
 
 arr.map((currentVaLue,index,arrOrigin)=>{},this)

特別注意:

    1.map()不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè),所以最好在使用map()之前進(jìn)行檢測(cè)是否為數(shù)組
    2.map()正常情況下不會(huì)改變?cè)紨?shù)組,但是可以通過arrOrigin來(lái)修改
    3.map()可以有返回值,需要return
    4.map()中傳入Math等數(shù)學(xué)元素,返回的數(shù)組中會(huì)被處理成想要的樣子.如:xxx.map(Math.sqrt)  ===>可以將數(shù)組中的內(nèi)容開平方.
    5.map()中傳入Number等轉(zhuǎn)換格式的方法,返回的數(shù)組也會(huì)被轉(zhuǎn)換.如:xxx.map(Number)  ===>里面的元素都會(huì)被轉(zhuǎn)化為數(shù)字類型

舉個(gè)好的栗子:

let arrMap1=[1,2,3];
// let arrMap1=""; //用于檢驗(yàn)
let arrMap2=Array.isArray(arrMap1)?arrMap1:[] 
let newArrMap=arrMap2.map((item,index,arrOrigin) => {
    return item*2;
})
// console.log(arrMap1)//沒有改變。。。
// console.log(arrMap2)//沒有改變。。。
// console.log(newArrMap)



Array.forEach()方法
功能 : 遍歷,對(duì)數(shù)組中的元素依次處理。
參數(shù) : (currentValue,index,arrOrigin)(當(dāng)前元素的值,當(dāng)前元素的索引,當(dāng)前元素的數(shù)組對(duì)象)
官方使用

 var arr = [1,2,3];
 arr.forEach((currentVaLue,index,arr)=>{},this)

特別注意:

    1.forEach()不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè),所以最好在使用forEach()之前進(jìn)行檢測(cè)是否為數(shù)組

    2.forEach()正常情況下不會(huì)直接改變?cè)紨?shù)組,但是可以通過arrOrigin來(lái)修改

舉個(gè)好的栗子

let arrForEach1=[1,2,3];
// let arrForEach1=""; //用于檢驗(yàn)
let arrForEach2=Array.isArray(arrForEach1)?arrForEach1:[] 
arrForEach2.forEach((item,index,arrOrigin) => {
    arrOrigin[index]=item*2;
})

//寫一個(gè)用forEach來(lái)累加參數(shù)的累加方法
function Counter(arr){
    this.sum=0;
    this.count=0;
}
Counter.prototype.add=function(arr){
    if (!Array.isArray(arr)){
        console.warn("請(qǐng)傳入數(shù)組")
        return
    } 
    arr.forEach(function (element){
        // console.log(this)
        this.sum+=element;
        ++this.count;
    },this)
}
let obj=new Counter();
obj.add([1,2,3])
// let ADD=obj.add; //檢驗(yàn)this
// ADD([1,2,3]);
// console.log(obj);
// console.log(obj.sum);

//換一個(gè)優(yōu)雅的寫法
class calssCounter{
    constructor(){
        this.sum=0;
        this.count=0;
    }
    add(arr){
        if(!Array.isArray(arr)){
            console.warn("請(qǐng)輸入數(shù)組");
            return
        }
        arr.forEach(function(ele){
            this.sum+=ele;
            ++this.count;
        },this)
    }
}
let objClass = new calssCounter();
objClass.add([1,2,3,4,5]);
console.log(objClass.sum)

注:文中部分例子來(lái)源于:https://developer.mozilla.org...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/105459.html

相關(guān)文章

  • JavaScript 中遍歷方法小結(jié)

    摘要:遍歷方法小結(jié)常用的遍歷方法遍歷對(duì)數(shù)組的每個(gè)元素執(zhí)行一次提供的函數(shù)創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果遍歷大家都熟悉,所以重點(diǎn)講一下與的區(qū)別相同點(diǎn)回調(diào)函數(shù)參數(shù)相同,都自帶三個(gè)屬性均不會(huì)修改原數(shù)組第二參數(shù)的 遍歷方法小結(jié) 常用的遍歷方法 for 遍歷 forEach(對(duì)數(shù)組的每個(gè)元素執(zhí)行一次提供的函數(shù)) map(創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)...

    flyer_dev 評(píng)論0 收藏0
  • 從非數(shù)組對(duì)象轉(zhuǎn)數(shù)組方法小結(jié)

    摘要:該方法可以將類數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組,所謂類數(shù)組對(duì)象,就是含和索引屬性的對(duì)象返回的數(shù)組長(zhǎng)度取決于對(duì)象屬性的值,且非索引屬性的值,或索引大于的值都不會(huì)被返回到數(shù)組中實(shí)錘如下簡(jiǎn)潔寫法該方法可以將類數(shù)組對(duì)象和可迭代對(duì)象轉(zhuǎn)換為數(shù)組類數(shù)組對(duì)象上文已提及, Array.prototype.slice.call(obj) 該方法可以將類數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組,所謂類數(shù)組對(duì)象,就是含 length 和索引屬性...

    silvertheo 評(píng)論0 收藏0
  • Javascript函數(shù)式編程小結(jié)

    摘要:源起函數(shù)式編程近幾年非常流行經(jīng)??梢栽诰W(wǎng)上看到別人討論相關(guān)話題我機(jī)緣巧合之下在上看到有人提到一個(gè)講函數(shù)式編程的視頻看過之后突然茅塞頓開瞬間把之前零碎的關(guān)于函數(shù)式編程的知識(shí)一下子都聯(lián)系了起來(lái)于是自己希望趁有空把這些知識(shí)總結(jié)一下這樣既可以回顧下 源起 函數(shù)式編程近幾年非常流行,經(jīng)??梢栽诰W(wǎng)上看到別人討論相關(guān)話題. 我機(jī)緣巧合之下在github上看到有人提到一個(gè)講js函數(shù)式編程的視頻,看過之...

    zengdongbao 評(píng)論0 收藏0
  • js數(shù)組操作方法小結(jié)

    摘要:操作方法創(chuàng)建數(shù)組類數(shù)組將類數(shù)組轉(zhuǎn)換真正的數(shù)組修改數(shù)組合并數(shù)組,返回新數(shù)組,原數(shù)組不變數(shù)組轉(zhuǎn)化為字符串以默認(rèn)為逗號(hào)拼接為字符串。 Array操作方法 創(chuàng)建數(shù)組 var arr=[] var arr = new Array() var arr1 = [1, 2, 3] var arr2 = [a, b, c] var arrLike = [{ name: 123, age:...

    April 評(píng)論0 收藏0
  • es6-SetMap

    摘要:由于和不會(huì)被轉(zhuǎn)換為字符串,所以在內(nèi)部是不同的項(xiàng),如果他們被轉(zhuǎn)化為字符串,那么都會(huì)等于,如果多次調(diào)用并傳入相同的值作為參數(shù)。第二次重復(fù)傳入并不會(huì)被添加到集合中,那么的屬性值還是為。的方法和共享了幾個(gè)方法。小結(jié)正式將與引入。 se5中的set與map 在est5中開發(fā)者使用對(duì)象屬性來(lái)模擬。set多用于檢查鍵的存在,map多用于提取數(shù)據(jù)。 { let set = Object.cre...

    big_cat 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<