国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

map與forEach的小結(jié)

tomato / 2794人閱讀

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

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

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

特別注意:

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

舉個好的栗子:

let arrMap1=[1,2,3];
// let arrMap1=""; //用于檢驗
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()方法
功能 : 遍歷,對數(shù)組中的元素依次處理。
參數(shù) : (currentValue,index,arrOrigin)(當(dāng)前元素的值,當(dāng)前元素的索引,當(dāng)前元素的數(shù)組對象)
官方使用

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

特別注意:

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

    2.forEach()正常情況下不會直接改變原始數(shù)組,但是可以通過arrOrigin來修改

舉個好的栗子

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

//寫一個用forEach來累加參數(shù)的累加方法
function Counter(arr){
    this.sum=0;
    this.count=0;
}
Counter.prototype.add=function(arr){
    if (!Array.isArray(arr)){
        console.warn("請傳入數(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; //檢驗this
// ADD([1,2,3]);
// console.log(obj);
// console.log(obj.sum);

//換一個優(yōu)雅的寫法
class calssCounter{
    constructor(){
        this.sum=0;
        this.count=0;
    }
    add(arr){
        if(!Array.isArray(arr)){
            console.warn("請輸入數(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)

注:文中部分例子來源于:https://developer.mozilla.org...

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/105459.html

相關(guān)文章

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

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

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

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

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

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

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

    摘要:操作方法創(chuàng)建數(shù)組類數(shù)組將類數(shù)組轉(zhuǎn)換真正的數(shù)組修改數(shù)組合并數(shù)組,返回新數(shù)組,原數(shù)組不變數(shù)組轉(zhuǎn)化為字符串以默認(rèn)為逗號拼接為字符串。 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 評論0 收藏0
  • es6-SetMap

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

    big_cat 評論0 收藏0

發(fā)表評論

0條評論

tomato

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<