Language/JavaScript
[Do It!] 04. 객체 [배열 객체, 문자열 객체]
구일일구
2023. 12. 28. 11:23
반응형
배열객체
여러 개의 데이터를 하나의 저장소에 저장
하나의 저장소를 나눠서 데이터를 열거하라는 의미
각각의 데이터는 배열로 나누어진 저장소에 나열되며, 각각의 저장소에는 인덱스 번호(번지수)가 부여됨
인덱스 번호는 0부터 시작
//방식1
var 참조변수 = new Array();
참조변수[0]=값1; 참조변수[1]=값2; 참조변수[2]=값3; ... 참조변수[n-1]=값n;
//방식2
var 참조변수 = new Array(값1, 값2, 값3, ... 값n);
//방식3
var 참조변수 = [값1, 값2, 값3, ... 값n];
방식1
var d = new Array();
d[0] = 30;
d[1] = "따르릉";
d[2] = true;
방식2
var d = new Array(30, "따르릉", true);
방식3
var d = [30, "따르릉", true];
배열 객체에 저장된 데이터 불러오기
참조 변수[인덱스 번호];
배열 객체의 메서드 및 속성
종류 | 설명 |
join(연결 문자) | 배열 객체의 데이터를 연결 문자 기준으로 1개의 문자형 데이터로 반환 |
reverse() | 배열 객체의 데이터 순서를 거꾸로 바꾼 후 반환 |
sort() | 배열 객체의 데이터를 오름차순으로 정렬 |
slice(index1, index2) | 배열 객체의 데이터 중 원하는 인덱스 구간만큼 잘라서 배열 객체로 가져옴 |
splice() | 배열 객체의 지정 데이터를 삭제하고 그 구간에 새 데이터를 삽입할 수 있음 |
concat() | 2개의 배열 객체를 하나로 결합 |
pop() | 배열에 저장된 데이터 중 마지막 인덱스에 저장된 데이터 삭제 |
push(new data) | 배열 객체의 마지막 인덱스에 새 데이터 삽입 |
shift() | 배열 객체에 저장된 데이터 중 첫 번째 인덱스에 저장된 데이터 삭제 |
unshift(new data) | 배열 객체의 가장 앞의 인덱스에 새 데이터 삽입 |
length | 배열에 저장된 총 데이터 개수 반환 |
문자열 객체(String Object)
문자형 데이터를 취급. 자바스크립트에서 가장 많이 사용
var 참조변수 = new String(문자형 데이터);
var 참조변수 = 문자형 데이터
문자열 객체의 메서드 및 속성
종류 | 설명 |
charAt(index) | 문자열에서 인덱스 번호에 해당하는 분자를 반환 ◎ var str = "web he she"; str.charAt(2) :: "b" 반환 |
indexOf("찾을 문자") | 왼쪽부터 찾을 문자와 일치하는 문자를 찾아 제일먼저 일치하는 문자의 인덱스 번호를 반환. 찾는 문자가 없으면 -1을 반환 ◎ str.indexOf("he") :: 4 반환 |
lastIndexOf("찾을 문자") | 오른쪽부터 찾을 문자와 일치하는 문자를 찾아 제일먼저 일치하는 문자의 인덱스 번호를 반환. 찾는 문자가 없으면 -1을 반환 ◎ str.indexOf("he") :: 11 반환 |
match("찾을 문자") | 왼쪽부터 바꿀 문자와 일치하는 문자를 찾아 제일 먼저 찾은 문자를 반환. 찾는 문자가 없으면 null 반환 ◎ str.match("boy") :: null 반환 |
replace("바꿀 문자", "새 문자") | 왼쪽부터 바꿀 문자와 일치하는 문자를 찾아 제일 먼저 찾은 문자를 새 문자로 치환 ◎ str.replace("web", "html") :: "html he she") 반환 |
search("찾을 문자") | 왼쪽부터 찾을 무문자와 일치하는 문자를 찾아 제일 먼저 일치는 인덱스 번호를 반환 ◎ str.search("he") :: 4 반환 |
slice(a, b) | a개의 문자를 자르고 b번째 이후에 문자를 자른 후 남은 문자 반환. -1은 뒤에서부터 첫 번째 글자를 가리킴 ◎ str.slice(0.2) :: "web" 반환 |
substring(a, b) | a 인덱스부터 b 인덱스 이전 구간의 문자를 반환 ◎ var str = "hello javascript"; str.substring(3,7); :: "lo j" 반환 ◎ var str = "hello javascript"; str.substring(3,-3); :: "hel" 반환 -3은 인덱스 0을 가리킴. 그러므로 인덱스 0부터 3 이전 구간의 문자를 반환 |
종류 | 설명 |
substr(a, 문자개수) | 문자열에 a 인덱스부터 지정한 문자 개수만큼 문자열 반환 ◎ var str = "hello javascript"; str.substring(3,2) :: "lo" 반환 |
split("문자") | 지정한 문자를 기준으로 문자 데이터를 나누어 배열에 저장하여 반환 ◎ var str = "webkmobilek2023"; ◎ var arr = str.split("k") :: ["web", "mobile", "2023"]; 반환 |
toLowerCase() | 영문 대문자를 모두 소문자로 |
toUpperCase() | 영문 소문자를 모두 대문자로 |
length | 문자의 개수 반환 |
concat("새로운 문자") | 문자열에 새로운 문자열 결합 ◎ var str = "hello"; str.concat("web") :: "hello web" 반환 |
charCodeAt(index) | 문자열 index에 해당 문자의 아스키 코드값을 반환함 ◎ var str = "ABC"; str.charCodeAt(0) :: "A"의 아스키코드값 65를 반환 |
fromCharCode(아스키 코드 값) | 아스키코드값에 해당하는 문자를 반환 ◎ String.fromCharCode(65) :: "A" 반환 |
trim() | 문자의 앞 또는 뒤에 공백 문자열을 삭제함(" hello " -> "hello") |
<script>
var t = "Hello Thank you good luck to you";
document.write(t.charAt(16), "<br>"); //인덱스 16에 저장된 문자 불러오기 -> "g"
document.write(t.indexOf('you'), "<br>"); //왼쪽부터 제일 먼저 발견된 'you'의 인덱스 -> 12
document.write(t.indexOf("you", 16), "<br>"); //인덱스16위치부터 제일 먼저 발견된 'you' 인덱스 -> 29
document.write(t.lastIndexOf('you'), "<br>"); //오른쪽부터 제일 먼저 발견된 'you'의 인덱스 -> 29
document.write(t.lastIndexOf('you', 25), "<br>"); //인덱스25부터 오른쪽으로 제일 먼저 발견된 'you' 인덱스 -> 12
document.write(t.match("luck"), "<br>"); //왼쪽부터 제일먼저 발견된 'luck'과 일치하는 문자열 반환 -> luck
document.write(t.search("you"), "<br>"); //왼쪽부터 제일 먼저 발견된 'you'의 인덱스 -> 12
document.write(t.substr(21,4), "<br>"); //문자열 인덱스 21부터 4글자 가져오기 -> luck
document.write(t.substring(6,12), "<br>"); //인덱스 6부터 12 이전까지 문자 가져오기 -> Thank
document.write(t.replace('you', 'me'), "<br>"); //왼쪽부터 제일 먼저 발견된 'you'를 'me'로 치환
document.write(t.toLowerCase(), "<br>"); //모두 소문자로 바꾸기
document.write(t.toUpperCase(), "<br>"); //모두 대문자로 바꾸기
document.write(t.length, "<br>"); //문자열의 문자 총 개수 반환. 공백도 문자로 취급됨
var s = t.split(" "); //공백 문자를 기준으로 문자를 분리. 분리된 문자열은 배열에 저장되어 s에 할당됨
document.write(s[0], "<br>"); //s의 인덱스 0 에 저장된 문자열 출력 -> "Hello";
document.write(s[4], "<br>"); //s의 인덱스 4 에 저장된 문자열 출력 -> "luck";
var str = "A";
var t = str.charCodeAt(0); //변수에 저장된 문자열 0번 인덱스의 문자 "A"의 아스키 코드값을 반환
document.write(t, "<br>"); //"A"의 아스키 코드값 65 출력
document.write(String.fromCharCode(65), "<br>"); //코드값 65에 해당하는 문자열 반환
</script>
반응형