Reduce の使用に関するヒント (コード例)

不言
リリース: 2019-03-18 10:29:33
転載
1952 人が閲覧しました

この記事では、reduce の使用スキル (コード例) を紹介します。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

reduce

配列メソッドには 2 つのパラメータがあるコールバック関数 callback とInitialValue
コールバックには 4 つのパラメータがありますprev、next、index、arr
initialValue: オプションのパラメータ、最初としてprev of callback;
initialValue が渡された場合:
prev は最初はinitialValueであり、その後は戻り値になります。
next は配列の各項目です
index は配列の添字です
arr は元の配列です
initialValue が渡されない場合:
prev は配列の最初の項目です初回、それ以降は戻り値です。
next は配列の 2 番目の項目から始まる各項目です
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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート