반응형
split() 함수
string.split(separator, limit)
- split() 함수는,
문자열을 'separator'로 잘라서,
'limit' 크기 이하의 배열에 잘라진 문자열을 저장하여 리턴합니다. - separator
- 필수 x
- 문자열을 잘라 줄 구분자 (문자열 또는 정규식)
- 값이 입력되지 않으면 문자열 전체를 배열에 담아서 리턴합니다.
- limit
- 필수 x
- 최대 분할 갯수
const str = "apple banana orange";
const arr = str.split();
console.log(arr); // [ 'apple banana orange' ]
console.log(arr.length); // 1
파라미터로 아무것도 전달하지 않으면 문자열 전체를 length 1인 배열에 담아서 리턴합니다.
const str = "apple banana orange";
const arr = str.split(" ");
document.writeln(arr.length); // 3
document.writeln(arr[0]); // apple
document.writeln(arr[1]); // banana
document.writeln(arr[2]); // orange
separator로 " "(스페이스)를 지정하면, 문자열을 구분자로 잘라서 각각의 잘라진 조각들을 배열에 저장하여 리턴합니다.
const str = "a b c";
const arr = str.split("");
console.log(arr.length); // 5
console.log(arr[0]); // a
console.log(arr[1]); // ' '(space)
console.log(arr[2]); // b
console.log(arr[3]); // ' '(space)
console.log(arr[4]); // c
separator로 ""을 전달하면, 문자열을 각각의 문자별로 잘라서, 한 글자씩(공백 포함) 배열에 저장하여 리턴합니다.
const str = "apple,banana,orange";
const arr = str.split(",");
console.log(arr) // [ 'apple', 'banana', 'orange' ]
console.log(arr.length); // 3
console.log(arr[0]); // apple
console.log(arr[1]); // banana
console.log(arr[2]); // orange
separator를 지정하여 문자열을 separator로 잘라서 만들어진 조각들을 배열에 담아서 리턴합니다.
const str = "apple,banana,orange";
const arr = str.split(",", 2);
console.log(arr) // 〉 [ 'apple', 'banana' ]
console.log(arr.length); // 2
console.log(arr[0]); // apple
console.log(arr[1]); // banana
console.log(arr[2]); // undefined
위의 예제에서 문자열을 ','로 자르면 총 3개의 배열이 만들어지지만, limit 값을 2로 지정하였기 때문에 2개의 배열만 생성되었습니다.
"split is not function" 오류는 문자열 유형이 아닌 값에 대해 메서드를 호출할 때 발생합니다. 오류를 해결하려면
1) split()을 호출하기 전에 toString()메서드를 사용하여 값을 문자열로 변환해야 합니다
2) 문자열에 대해서만 split()메서드를 호출해야 합니다
반응형
'JavaScript' 카테고리의 다른 글
JavaScript - nullish 병합 연산자 '??' , || 와 ?? 차이 (0) | 2023.08.29 |
---|---|
JavaScript - 문자열이 숫자인지 확인 / isNaN() (0) | 2023.02.10 |
JavaScript - undefined 타입 & null 타입 차이점 (0) | 2023.02.09 |
JavaScript - 객체 (0) | 2023.02.08 |
JavaScript - 빈 객체 확인하는 방법 (0) | 2023.02.08 |