>웹 프론트엔드 >JS 튜토리얼 >Reduce 사용 팁(코드 예시)

Reduce 사용 팁(코드 예시)

不言
不言앞으로
2019-03-18 10:29:332001검색

이 글은 여러분에게 Reduce의 사용 기술(코드 예제)을 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

reduce

배열 메소드에는 콜백 함수 callback과initialValue라는 두 개의 매개변수가 있습니다.
콜백에는 prev, next, index, arr이라는 네 개의 매개변수가 있습니다.
initialValue: 콜백의 첫 번째 prev로 사용되는 선택적 매개변수입니다.
initialValue를 전달한 경우:
prev 처음에는initialValue이고 그 다음은 반환 값입니다.
next는 배열의 각 항목입니다.
index는 배열의 첨자입니다.
arr는 원래 배열입니다.
initialValue가 전달되지 않은 경우:
prev는 처음으로 배열의 첫 번째 항목이고 그 다음은 반환 값입니다.
다음은 배열의 두 번째 항목부터 시작하는 각 항목입니다.
index 및 arr은 영향을 받지 않습니다.

underscore to hump

    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
    })

array flattening

    // 二维转一维
    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)
    },[])

array to object

    // 路由数组转对象
    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으로 문의하시기 바랍니다. 삭제