1. concat() 메서드 - 서로 다른 배열 2개를 합쳐서 새로운 배열을 만들어 줌 - 어느 배열을 먼저 쓰는가에 따라 기준이 달라지고, 결과 배열의 순서도 달라짐 - 배열 2개를 합쳐서 새로운 배열 만들기
<! DOCTYPE html >
< html lang = "ko" >
< head >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > 배열 2개를 합쳐서 새로운 배열 만들기 </ title >
< style >
</ style >
</ head >
< body >
< script >
var nums = [ 1 , 2 , 3 ];
var chars = [ "a" , "b" , "c" , "d" ];
var numsChars = nums . concat ( chars );
var charsNums = chars . concat ( nums );
document . write ( "nums에 chars 합치면:" + numsChars , "<br>chars에 nums 합치면:" + charsNums );
</ script >
</ body >
</ html >
2. join() 메서드 -배열 요소를 연결해서 하나의 문자열로 만들어 줌 - 각 요소에 구분자 넣기 가능 기본형: 쉼표(,) - 배열 안의 요소 합치기
<! DOCTYPE html >
< html lang = "ko" >
< head >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > 배열 안의 요소 합치기 </ title >
< style >
</ style >
</ head >
< body >
< script >
var nums = [ 1 , 2 , 3 ];
var chars = [ "a" , "b" , "c" , "d" ];
var string1 = nums . join ();
document . write ( "구분자 없이:" , string1 );
document . write ( "<br>" );
var string2 = chars . join ( '/' );
document . write ( "/ 구분자 지정:" , string2 );
</ script >
</ body >
</ html >
3. push(), unshift() 메서드 - push() 메서드 : 배열 맨 끝에 새로운 요소 추가 - unshift() 메서드 : 배열 맨 앞에 새로운 요소 추가 - 배열에 새로운 요소 추가하기
<! DOCTYPE html >
< html lang = "ko" >
< head >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > 배열에 새로운 요소 추가하기 </ title >
< style >
</ style >
</ head >
< body >
< script >
var nums = [ 1 , 2 , 3 ];
var ret1 = nums . push ( 4 , 5 ); //배열 맨 끝에 새로운 요소 추가
document . write ( "lenth:" , ret1 , "|배열:" , nums );
document . write ( "<br>" );
var ret2 = nums . unshift ( 0 ); //배열 맨 앞에 새로운 요소 추가
document . write ( "lenth:" , ret2 , "|배열:" , nums );
</ script >
</ body >
</ html >
4. pop(), shift() 메서드 - pop() 메서드 : 배열에서 맨뒤에 있는 요소를 꺼냄 - shift() 메서드 : 배열에서 맨 앞에 있는 요소를 꺼냄 - 배열에서 요소 꺼내기
<! DOCTYPE html >
< html lang = "ko" >
< head >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > 배열에서 요소 꺼내기 </ title >
< style >
</ style >
</ head >
< body >
< script >
var chars =[ "a" , "b" , "c" , "d" ];
var popped1 = chars . pop (); //마지막 요소 꺼냄
document . write ( "꺼낸요소:" , popped1 , "|배열:" , chars );
document . write ( "<br>" );
var popped2 = chars . shift (); //1번째 요소 꺼냄
document . write ( "꺼낸요소:" , popped2 , "배열:" , chars );
</ script >
</ body >
</ html >
5. splice() 메서드 - 괄호 안에 들어 있는 인수에 따라 배열 요소를 삭제하거나 새로운 요소를 추가 5.1 인수가 1개인 경우 - splice(인덱스 값) - 인수가 지정한 인덱스의 요소부터 배열의 맨 끝 요소까지 삭제 - 삭제한 요소 반환 - splice() 메서드의 인수가 1개인 경우 요소 삭제하기
<! DOCTYPE html >
< html lang = "ko" >
< head >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > splice()메서드의 인수가 1개인 경우 요소 삭제하기 </ title >
< style >
</ style >
</ head >
< body >
< script >
var number s = [ 1 , 2 , 3 , 4 , 5 ];
var newNumbers = numbers . splice ( 2 );
document . write ( "반환된 배열:" + newNumbers + "<br>" );
document . write ( "변경된 배열:" + numbers );
</ script >
</ body >
</ html >
5.2 인수가 2개인 경우 -splice(인덱스 값, 삭제할 요소 개수) - study.splice(2,1); : 인덱스 값인 2인 요소부터 요소를 1개 삭제 - 삭제한 요소 반환 - splice()메서드의 인수가 2개인 경우 요소 삭제하기
<! DOCTYPE html >
< html lang = "ko" >
< head >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > splice()메서드의 인수가 2개인 경우 요소 삭제하기 </ title >
< style >
</ style >
</ head >
< body >
< script >
var study = [ "html" , "css" , "web" , "jquery" ];
var newStudy = study . splice ( 2 , 1 );
document . write ( "반환된 배열:" + newStudy + "<br>" );
document . write ( "변경된 배열:" + study );
</ script >
</ body >
</ html >
5.3 인수가 3개 이상인 경우 - splice(시작위치, 삭제할 개수, 삭제한 위치에 새로 추가할 요소,..) - study.splice(2,1,"js") : 인덱스 값인 2인 요소 1개를 삭제하고 새로운 요소 "js"를 추가 - splice()메서드의 인수가 3개 이상인 경우 요소 삭제, 추가하기
<! DOCTYPE html >
< html lang = "ko" >
< head >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > splice()메서드의 인수가 3개이상인 경우 요소 삭제하기 </ title >
< style >
</ style >
</ head >
< body >
< script >
var study = [ "html" , "css" , "web" , "jquery" ];
var newStudy1 = study . splice ( 2 , 1 );
var newStudy2 = study . splice ( 2 , 1 , "js" );
document . write ( "반환된 배열:" + newStudy2 + "<br>" );
document . write ( "변경된 배열:" + study );
</ script >
</ body >
</ html >
6. slice() 메서드 - 기존 배열을 바꾸지 않으면서 요소를 꺼냄 -pop(), shift() 메서드와 차이점 : 시작과 끝 인덱스를 지정해서 요소를 여러 개 꺼내고, 실행결과와 기존 배열이 바뀌지 않음 - 인수 1개 사용 : slice(시작 인덱스) : 지정한 요소부터 마지막 요소까지 꺼내서 반환 - slice()메서드의 인수가 1개인 경우 요소 꺼내기
<! DOCTYPE html >
< html lang = "ko" >
< head >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > slice()메서드의 인수가 1개인 경우 요소 꺼내기 </ title >
< style >
</ style >
</ head >
< body >
< script >
var colors = [ "red" , "green" , "blue" , "white" , "black" ];
var colors2 = colors . slice ( 2 ); //인덱스 값이 2인 요소부터 마지막 요소까지 꺼내기
document . write ( "꺼낸 요소:" + colors2 );
document . write ( "<br>" );
document . write ( "변경되지 않은 배열:" + colors ); //변경되지 않은 배열
</ script >
</ body >
</ html >
- 인수 2개 사용 :slice(시작인덱스, 끝 인덱스의 바로 직전 인덱스) :slice(2,4) -> 배열의 인덱스 2부터 시작하여 인덱스 4의 직전 인덱스 까지 꺼냄 -> 즉, 인덱스값이 2부터 3까지의 요소를 꺼냄 -> 꺼낸 요소를 반환 - slice()메서드의 인수가 2개인 경우 요소 꺼내기
<! DOCTYPE html >
< html lang = "ko" >
< head >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > slice()메서드의 인수가 2개인 경우 요소 꺼내기 </ title >
< style >
</ style >
</ head >
< body >
< script >
var colors = [ "red" , "green" , "blue" , "white" , "black" ];
var colors3 = colors . slice ( 2 , 4 ); //인덱스값이 2부터 3인 요소까지 꺼내기
document . write ( colors3 );
</ script >
</ body >
</ html >
7. splice()와 slice() 메서드의 공통점과 차이점 - 공통점 : 배열에서 특정 위치의 요소를 활용함 - 차이점 :splice() 메서드는 요소를 추가, 삭제하면 기존 배열 자체가 수정됨 slice()메서드 -> 기존 배열에서 꺼낸 요소로 새로운 배열을 만들어서 사용 splice() -> 기존 배열의 일부 요소만 삭제하기