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 강의를 기대해 주세요.

    좋은 웹페이지 즐겨찾기