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>
반응형