Javascript 면접 고전 방식 reduce 함수 검사

1949 단어 자바 scriptreduce
오늘 우연히 코드 를 보 았 습 니 다.코드 는 짧 은 지면 으로 문자열 통계 와 같은 문자 횟수 라 는 전형 적 인 면접 문 제 를 완 성 했 습 니 다.그 중에서 reduce 라 는 방법 을 사 용 했 습 니 다.인터넷 에서 찾 아 보 았 지만 가치 있 는 것 을 찾 지 못 해서 저 는 시간 을 낭비 하고 알 아 보 았 습 니 다.지금 제 생각 을 다음 과 같이 정리 하 겠 습 니 다.
원본 코드:

var arr="qweqrq"
var info= arr.split('').reduce((a,b)=>
 (a[b]++ || (a[b]=1),a)
,{})
console.log(info)
코드 사 고 는 이 렇 습 니 다.먼저 문자열 arr 를 split 방법 으로 배열 로 자 른 다음 에 reduce 를 사용 합 니 다.이 방법 은 무엇 을 했 습 니까?이 몇 단계 로 나 누 었 습 니 다.
1.우선 reduce 는 배열 의 모든 요 소 를 실행 하기 위해 콜백 을 받 습 니 다.두 번 째 인자 가 있 으 면 다음 과 같 습 니 다:{}.그러면 콜백 은 이{}을 매개 변수 로 배열 의 첫 번 째 요소 와 함께 콜백 에 전 달 됩 니 다.
2.매개 변 수 를 입력 한 후에 문 과 단락 작업 을 하고 기본 값 작업 이 라 고도 할 수 있 습 니 다.a[b]+가 이 루어 지면 a[b]로 돌아 갑 니 다.여기 있 는 a 는{}이 고 b 는"q"입 니 다.a 에 b 가 없 는 것 이 분명 합 니 다.a[b]=1 을 실행 하면 a[b]에 게 1 을 부여 하고 뒤에 쉼표 표현 식 이 므 로 a[b]가 있 는 a 대상 을 되 돌려 줍 니 다.
문 단락 작업:첫 번 째 조작 수의 값 이 true 라면 단락 작업 을 하면 첫 번 째 조작 수의 값 이 직접 발생 합 니 다.false 라면 두 번 째 조작 수의 값 이 생 깁 니 다.
쉼표 표현 식:쉼표 표현 식 의 일반적인 형식 은 표현 식 1,표현 식 2,표현 식 3...표현 식 n 입 니 다.쉼표 표현 식 의 풀이 과정 은 표현 식 1 의 값 을 계산 한 다음 표현 식 2 의 값 을 계산 하 는 것 입 니 다.마지막 으로 전체 쉼표 표현 식 의 값 은 표현 식 n 의 값 입 니 다.
3.그 다음 에 reduce 함 수 를 말 하려 면 이전 실행 후 돌아 온 결 과 를 매개 변수 로 계속 다음 요소 와 함께 callback 에 전송 하여 실행 할 수 있 습 니 다.fn(fn(fn(a,b),c),d),e)에 해당 합 니 다.fn 은 callback 입 니 다.
4.이 예 에서 두 번 째 인자{}가 들 어 오기 때문에 콜 백 은 6 번 실 행 했 습 니 다.배열 의 모든 요 소 를 입력 하고 재 확인 하 는 것 과 같 습 니 다.예 를 들 어 콜백 이 네 번 째 로 실 행 될 때 a 는{q:1,w:1,e:1}이 고 콜백 을 실행 합 니 다.a[b]즉 a[q']가 존재 합 니 다.a[q']+를 실행 하고 a[q']값 을 2 로 유추 합 니 다.마지막 으로 얻 은 것 은 배열 의 모든 요 소 를 속성 명 으로 하고 나타 나 는 횟수 를 속성 값 으로 하 는 대상 입 니 다.
주의해 야 할 것 은 reduce 는 es5 가 내 놓 은 방법 으로 ie8 과 이하 가 모두 호 환 되 지 않 는 다 는 것 이다.
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 자 바스 크 립 트 면접 의 전형 적 인 방식 인 reduce 함 수 를 재 검토 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기