JavaScript

JavaScript - split() / .split is not a function

ToMakeSure 2023. 2. 13. 00:20
반응형

 

 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()메서드를 호출해야 합니다

 

 

 

반응형