首頁 > web前端 > js教程 > reduce的用法技巧(程式碼範例)

reduce的用法技巧(程式碼範例)

不言
發布: 2019-03-18 10:29:33
轉載
1968 人瀏覽過

這篇文章帶給大家的內容是關於reduce的用法技巧(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

reduce

陣列的方法,有兩個參數回呼函數callback 和 initialValue
回呼有四個參數 prev、next、index、arr
initialValue:選用參數,作為callback第一次的prev;
如果傳了initialValue:
prev第一次為initialValue,之後為return的值。
next為數組的每一項
index為數組的下標
arr為原始數組
如果沒傳initialValue:
prev第一次為數組的第一項,之後為return的值。
next為從陣列的第二項開始的每一項
index、arr不受影響

#下劃線轉駝峰

    let str = "my_name_is_sxq";
    let result = str.split('').reduce((p,n,i,arr)=>{
        if(n=='_'){
            arr[i+1] = arr[i+1].toUpperCase()
            return p
        }
        return p + n
    })
登入後複製

陣列扁平化

    // 二维转一维
    let arr = [1,2,3,[4,5],[6,7,[8,9]]];
    let newarr = arr.reduce(function(prev,next){
        return Array.isArray(next)?prev=prev.concat(...next):prev=prev.concat(next)
    },[])
登入後複製

陣列轉物件

    // 路由数组转对象
    let arr = [{path:'/',component:function(){}},{path:'/user',component:function(){}}]
    let result = arr.reduce((memo,current)=>{
        memo[current.path] = current.component
        return memo
    },{})
登入後複製

#

以上是reduce的用法技巧(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板