자바스크립트 역 문자열

| | | | | | | | | | | | | | | | | | | | | | | | | |

신진 소프트웨어 엔지니어와 웹 개발자로서 우리가 해결하기 시작한 첫 번째 코드/알고리즘 과제 중 하나는 문자열을 뒤집는 방법을 알아낼 수 있는지 확인하는 것입니다. 사슬은 단지 문자와 공백의 집합이라는 것을 기억하십시오. 우리가 해야 할 일은 예를 들어 "Hello everything!" 문자열을 반대로 하는 것입니다. " 그리고 뒤로"! EDNOM olleH `". 이 문제를 해결할 수 있는 몇 가지 방법이 있으며 이 기사에서 그 중 일부를 다룰 것입니다.

문자열을 반전하고 반환하는 ReverseString 함수를 작성하세요. 반전할 문자열은 함수에서 인수로 제공됩니다.

솔루션 n. 1: 루프하기

첫 번째이자 아마도 가장 쉬운 솔루션 중 하나는 루프를 사용하고 체인을 통해 되돌아가는 것입니다. 문자열의 각 문자를 전달하는 새로운 역 문자열을 포함하는 변수를 인스턴스화하거나 생성해야 합니다.

i를 마지막 인덱스에 할당합니다(문자열 길이의 1을 취할 때 계산됨) ‚áí 이것이 초기화 그리고 그것은 우리가 살펴볼 첫 번째 단서가 될 것입니다. 루프의 두 번째 부분은 루프를 멈출 때를 알려주는 상태 ‚áí입니다. 루프의 세 번째이자 마지막 부분은 루프가 완료되고 조건이 여전히 참인 후 i가 증가 하는 정도입니다. I- 기본적으로 i를 가져와 다음 위치에 다시 할당합니다. - 1;

각 반복을 반복하면서 각 str [i] 문자를 가져와 newStr에 추가합니다. 그런 다음 루프 외부의 newStr로 돌아가서 함수를 종료합니다.

코드 편집기에서 직접 시도해 보세요.

솔루션 n . 2:

JavaScript의 ES6 JavaScript 맵 메소드에는 ES6에 새로 추가된 map 이라는 내장 배열 메소드가 있습니다. 그것이 하는 일은 지정된 값을 가진 새 배열을 반환하는 것입니다. map 메소드에는 현재 요소, 요소 인덱스 및 해당 배열의 복사본이라는 세 가지 매개변수가 있습니다. 솔루션의 마지막 두 매개변수를 사용합니다.

먼저 해야 할 일은 분할 split () 메서드를 사용하여 문자열을 배열로 변환합니다. 빈 문자열로 나누면 이 메서드는 내부에 모든 문자가 포함된 배열을 제공합니다. 따라서 위의 새 범위를 개별적으로 사용합니다.

Since 우리는 기본적으로 스왑 인덱스를 원하며 현재 인덱스에 대해 설정하려는 문자의 힌트를 이해해야 합니다. 이것은 우리가 반환하는 문자가 될 것입니다.

이렇게 하려면 0부터 시작하는 배열이기 때문에 배열에서 1을 뺀 다음 현재 인덱스의 위치를 뺍니다. 우리가 되돌아오는 배열 [swapIndex]는 기본적으로 현재 인덱스를 대신합니다. 이것은 우리에게 반전된 배열을 제공합니다 문자열의 문자입니다.

마지막으로 해야 할 일은 dre 배열을 문자열로 결합하고 반환합니다.

코드 편집기에서 솔루션 테스트!

중요한 것 map은 새로운 배열을 반환한다는 것을 기억하십시오 - 그래서 우리는 전달된 원래 str / array를 수정하지 않습니다.

< h4> 솔루션 # 3: 내장 JavaScript 메소드

이 코드 문제를 해결하기 위한 이 메소드는 내장 함수/메서드 split(), inverse() join()을 사용하여 이 한 줄로 해결:

아래 코드를 실행하고 직접 테스트하여 작동하는지 확인하십시오!

기본적으로 내장된 reverse()card()(이전 솔루션에서 설명한 방법) 내부에 있는 것입니다. 하지만 , 제자리에 뒤집힐 때 새 배열을 반환하는 대신 원래 배열을 변경합니다. 문제를 해결하고 있지만 더 큰 경우 필요할 경우 원본에 계속 액세스할 수 있도록 원본 테이블의 복사본을 만들어야 할 수도 있습니다.

이것은 이 문제를 해결하는 유일한 방법은 이 실험을 수정하고 아래 코드 편집기에서 스스로 다른 솔루션을 찾을 수 있는지 확인하는 가장 인기 있는 방법 중 일부일 뿐입니다. 위의 .. ReverseString() 그리고 화면에서 보고 싶다면 아무 것도 하지 마세요.