split, slice, substring

2020. 2. 15. 22:28JavaScript

String.prototype.split(구분자)  [immutable]

 - 문자열을 지정된 구분자로 여러 개의 문자열로 나눔

 - csv파일을 다룰 때 유용

 - 빈 문자열이 주어졌을 경우 빈 문자열을 포함한 배열 반환

 - 문자열, 구분자 모두 빈 문자열일 경우 빈 배열 반환

 - 반환값: 끊어진 문자열을 담은 배열

 

const str1 = 'Now you gonna take me there';
str1.split(' ');
//result: ["Now", "you", "gonna", "take", "me", "there"]


const str2 = '010-1234-5678';
str2.split('-');
//result: ["010", "1234", "5678"]

str2.split('');
//result: ["0", "1", "0", "-", "1", "2", "3", "4", "-", "5", "6", "7", "8"]


const str3 = '';
str3.split(', ');
//result: [""]

str3.split('');
//result: []

 

 

Array.prototype.slice(시작 인덱스, 끝 인덱스)   [immutable]

String.prototype.slice(시작 인덱스, 끝 인덱스)   [immutable]

 - 주어진 시작과 끝(끝은 미포함) 인덱스까지의 얕은 복사본을 반환

 - 끝 인덱스 생략시 끝까지 복사

 - 시작 인덱스 생략시 0번 인덱스부터 복사

 - 시작 인덱스가 배열의 길이보다 큰 경우는 빈 배열 반환

 - 인덱스값이 음수일 경우 끝에서부터의 길이를 의미

 - 반환값: 복사한 요소 포함한 새로운 배열 / 문자열

 

const arr = ['HTML', 'CSS', 'JavaScript', 'Python', 'Java', 'C'];

arr.slice(1, 4);
//result: ['CSS', 'JavaScript', 'Python', 'Java']

arr.slice(3);
//result: ['Python', 'Java', 'C']

arr.slice();
//result: ['HTML', 'CSS', 'JavaScript', 'Python', 'Java', 'C']

arr.slice(7);
//result: []

arr.slice(3, -1);
//result: ['Python', 'Java']

 

 

String.prototype.substring(시작 인덱스, 끝 인덱스)   [immutable]

 - 문자열의 시작 인덱스부터 끝 인덱스 전까지의 문자열 반환

 - 시작 인덱스가 끝 인덱스보다 큰 경우 두 인자가 바뀐 것처럼 작동

 - 0보다 작은 값을 가질 경우는 0으로, 문자열의 길이보다 큰 값을 가질 경우는 문자열의 길이로 처리됨

 - 반환값: 추출된 부분 문자열 반환

 

const str = 'JavaScript';

str.substring(0, 4);
//result: "Java"

str.substring();
//result: "JavaScript"

str.substring(10, 5);
//result: "Script"

 

 

 

 

'JavaScript' 카테고리의 다른 글

rest parameter, arguments, spread 연산자  (0) 2020.03.03
template 태그 & fragment  (0) 2020.03.01
concat, indexOf, includes  (0) 2020.02.15
object의 메소드  (0) 2020.02.14
Object의 Dot Notation & Bracket Notation, 연산자  (0) 2020.02.14