Reduce 사용 팁(코드 예시)

不言
풀어 주다: 2019-03-18 10:29:33
앞으로
1952명이 탐색했습니다.

이 글은 여러분에게 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿