배열로 작동하는 문자열

2163 단어 javascriptbeginners

다음 설명은 JavaScript(다른 언어와의 기본적인 차이점)와 관련하여 정확하지 않지만 여전히 관련이 있습니다.



기본적으로 문자열은 조작된 문자 배열로 볼 수 있습니다(아래의 예에서처럼 split() 및 join()이 수행하는 방식과 유사).
이러한 조작으로 인해 많은 배열 메서드가 문자열에서 작동하지 않습니다. 몇 가지 대안이 있지만.

문자열이 있게 하십시오:



const str = 'abcde';

다음은 문자열에 배열 메서드를 사용하는 대신 사용할 수 있는 방법입니다. 예를 들면 다음과 같습니다.

const char = str[3];
//=> d


문자는 배열의 요소와 유사하게 이러한 방식으로 액세스할 수 있습니다.
위의 내용은 일반적으로 char = str.charAt(3)) 이지만 인덱스 위치 지정을 사용하여 문자를 찾을 수 있습니다.
문자열에 다른 배열 메서드를 사용해 봅시다.

const reversedString = str.reverse();
//=>TypeError: str.reverse is not a function


이런!! 오류가 발생했습니다! str은 배열이 아닙니다...

다른 접근 방식을 시도해 보겠습니다.




const arrStr = str.split('');
//=> [ 'a', 'b', 'c', 'd', 'e' ]


보시다시피 split() 메서드를 사용하여 문자열을 배열로 변환했습니다.
이는 다음과 같이 달성할 수도 있습니다: const arrStr = [...str]; (확산 연산자 사용).

이제 배열에서 배열 메서드를 사용할 수 있습니다! reverse()를 다시 시도해 봅시다:

const revArrStr = arrStr.reverse();
//=> [ 'e', 'd', 'c', 'b', 'a' ]


이번엔 아니야, 에러!

다시 문자열이 되려면 문자열이 필요합니다.

const revStr = revArrStr.join('');
//=> 'edcba'


이제 그게 전부입니다!

따라서 split() 메서드를 사용하여 문자열을 배열로 변환한 다음(배열 메서드를 사용하여) 다시 결합(join())할 수 있습니다.
즉, "배열 버전"의 문자열에서 배열로 작업할 수 있습니다.

그러나이 페이지 전체에 낭비되는 문자가 많이 있습니다.
모두 속기하자:

const shortRevStr = str.split('').reverse().join('');
//=> LOG: edcba


짧고 달다!

배열에서 작동하지만 문자열에서 작동하지 않는 다른 메서드는 이러한 '임시' 배열에서도 사용할 수 있습니다.
이러한 방식으로 문자열을 조작하는 기능을 통해 많은 추가 도구에 액세스할 수 있습니다.
데이터 유형 조작을 유리하게 사용하는 몇 가지 방법에 대해 듣고 싶습니다!

좋은 웹페이지 즐겨찾기