JS 실습: 문자열의 합
1830 단어 javascript
글쎄, 소문자 문자열이 주어지면 모두 합하여 1 값으로 만들 수 있습니까?
한 줄의 코드로?
솔루션 및 설명은 다음과 같습니다.
해결책
상수 문자합 = s =>
에스
.나뉘다('')
.map(c => c.charCodeAt(0) - 96)
.reduce((a, b) => a + b, 0);
꽤 간결하지 않습니까?
이 단계를 단계별로 살펴보겠습니다.
JS 화살표 함수
'const lettersum = s =>'
먼저 'const'를 사용하여 값이 나중에 변경되지 않아야 하는 변수('lettersum'이라는 이름)를 선언합니다.
그런 다음 '화살표 함수 표현식'이라는 간결한 정의를 사용하여 함수를 선언하기 시작합니다.
파편
s
.split('')
이것은
s.split()
와 동일합니다.그러나 JS는 코드 비트를 구분할 때 개행 문자(줄 종결자)를 무시합니다(반환과 같이 ';'를 자동 삽입하는 경우 제외).
여러 기능을 연결하여 읽기 쉽게 유지하기 위해 이렇게 합니다.
그렇다면 's.split('')'은 무엇을 할까요?
split()은 문자열을 하위 문자열로 나누고 배열로 반환하는 문자열 메서드입니다.
이 경우 ''는 모든 문자에서 문자열을 나누고 싶다는 의미입니다.
이것은 문자열을 문자 배열로 제공합니다.
매핑
.map(c => c.charCodeAt(0) - 96)
Map은 함수를 받아들이고 배열의 모든 요소에 대해 함수를 호출하여 생성된 배열을 반환합니다.
여기서 우리는 문자 배열을 살펴보고 각 문자를 숫자로 바꾸고 96을 빼서 a=0으로 만듭니다.
줄이다
.reduce((a, b) => a + b, 0);
마지막으로 이것은 목록을 단일 값으로 줄입니다.
배열의 각 항목에 전달하는 함수를 호출하여 결과를 'a'에 저장하고 'b'를 배열의 다음 값으로 설정하여 함수를 다시 호출합니다.
여기서 우리는 목록의 모든 요소를 합산합니다.
폐쇄
그리고 그게 다야! 요약하면 우리는
함께해 주셔서 감사합니다. 다음 JS 강의를 기대해 주세요.
Reference
이 문제에 관하여(JS 실습: 문자열의 합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/phantomhaze/js-exercise-sum-of-a-string-nga텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)