Nodejs/JS Basic

JavaScript의 기초 #5 - 배열

Sila 2022. 2. 9. 23:05

오늘은 배열의 성질, 자주 활용되는 몇 가지 메소드에 대해 정리한다.

우리가 아무 문자열이나 선언을 해도 그 문자열은 배열로 처리된다.

let str="asdfg12345";
console.log(typeof(str));	//	string
console.log(str.length);	//	10;

따라서 문자열 또한 배열과 마찬가지로 여러가지 메소드를 적용가능하다.

 

i) split

split은 인자를 기준으로 문자열을 잘라준다.

문자열이름.split("인자")	//	지정한 인자(문자)를 기준으로 잘라준다고 보면 된다.
let str2='012-3456-7890';
str2.split("-");	//	['012', '3456', '7890']

다시 한 번, arr 변수를 선언해지고 str2, arr의 길이를 각각 구해보자.

let arr = str2.split("-");	//	['012', '3456', '7890']

str2.length;	//	13 (= 문자열의 길이)
arr.length;	//	3 (= 배열의 길이)

다음과 같이 str2는 문자열로서의 length를, arr은 배열로서의 length를 반환받음을 알 수 있다.

메소드의 return은 자료형도 바꿀 수 있다는 사실에 유의해야 한다.

 

ii) replace

지정한 문자열 내부의 문자열 중 처음 하나만을 치환한다.

문자열이름.replace('대체될 문자열', '대체할 문자열')
let str3 = 'abc3248o5-198734abc';
str3.replace('abc', 'xyz');	//	'xyz3248o5-198734abc'

 

iii) replaceAll

지정한 문자열 내부의 문자열 모두를 치환한다.

let str3 = 'abc3248o5-198734abc';
str3.replaceAll('abc', 'xyz');		//	'xyz3248o5-198734xyz'

 

iv) repeat

지정한 횟수만큼 문자열을 반복출력한다.

문자열이름.repeat('반복횟수');
let str4 = 'abcd';
str4.repeat(3);			//	'abcdabcdabcd'

 

v) includes

배열이 특정 요소를 포함하고 있는지 판별한다.

배열.includes(문자열)		//	boolean을 return
let str5= 'abcd1436gfh';
str5.includes('d1');		// 	true

 

vi) indexOf

문자열에서 주어진 값과 일치하는 가장 앞의 인덱스의 값을 반환한다. 없으면 -1을 반환한다.

문자열이름.indexOf('문자열')
let str6 = 'abcdeabcde';
str6.indexOf('e');		//	가장 앞쪽 e의 인덱스인 4 반환
str6.indexOf('f');		//	f가 없으므로 -1 반환

 

vii) substring

인덱스의 구간을 지정해 해당 구간 안에 있는 요소들(부분 문자열)을 반환

문자열.substring(시작인덱스, 끝인덱스)
let str7 = 'abcdefghi`;
str7.substring(2,5);		//	cde

 

viii) substr

특정 위치에서 시작해 특정 문자 수만큼을 반환

문자열.substr(a,b)		//	a번째 인덱스를 시작으로 b개 문자 반환
let str8= 'asdfghjkl';
str8.substr(3,2);		//	fg

 

ix) concat

매개변수로 전달된 모든 문자열을 호출 문자열에 붙인 새로운 문자열을 반환한다.

문자열.concat(문자열2, 문자열3, ...)
let str9 = 'abc';
str9.concat('def', 'ghi');	//	abcdefghi