공부했던 자료 정리하는 용도입니다.

재배포, 수정하지 마세요.

 

 

 

 

Array 객체

//1. 크기가 지정되지 않은 배열
var myArray = new Array();


//2.초기값이 있는 배열
//[2-1] 리터럴을 사용한 배열
var numbers = ["one", "two", "three", "four"];

//[2-2] Array객체를 사용한 배열
var numbers = Array("one", "two", "three", "four");

자바스크립트의 내장 객체이다. 여러 개의 항목을 하나의 변수에 저장해야 할 때 배열(Array)을 사용한다. 빈 괄호를 사용하면 배열 요소의 개수가 고정되지 않으며, 초기값이 있는 배열일 경우 위와 같이 리터럴을 사용하거나  Array 객체를 사용해서 만들 수 있다. 

 

 

 

배열과 for문

var triple = [3, 6, 9]
for(var i = 0 ; i < triple.length ; i++){
    console.log(triple[i]);
}

 Array 객체의  length 속성을 사용하면 배열의 길이를 확인할 수 있다.

인덱스 값은  0 ~ (length - 1) 이므로 이를 이용해서  for 문을 돌린다.

 

 

 

Array 객체의 함수

이 밖에 다른 함수나 내용을 참고하려면 아래의 사이트를 참조하거나 해당 함수를 검색하면 된다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array

 

함  수 사용예시 (파란색은 결과값) 설  명
concat( ) var nums = ["1", "2", "3"]
var chars = ["a", "b", "c", "d"]
nums.concat(chars)
▶ (7) ["1", "2", "3", "a", "b", "c", "d"]
기존의 배열에 또다른 배열이나 값을 합쳐 새로운 배열을 만드는 함수 (순서를 바꾸면 연결 순서가 달라짐)
새로운 배열을 만들어 내기 때문에 기존의 배열에는 영향 X
join( ) var nums = ["1", "2", "3"]
nums.join("-")

"1-2-3"
배열 요소를 문자열로 합침. 이때 배열의 각 요소를 구분하는 구분자를 지정할 수 있다.
구분자를 지정하지 않으면 쉼표( , )로 요소를 구분

원래 배열은 바뀌지 X 새로운 배열 생성
push( ) var nums = ["1", "2", "3"]
nums.push("4", "5")
//추가된 후의 배열 요소 개수 반환

nums

▶ (5) ["1", "2", "3", "4", "5"]
배열의 맨 끝에 요소를 추가한 후 새로운  length  반환
기존 배열에 변화를 준다.
unshift( ) var nums = ["1", "2", "3"]
nums.unshift("0")
4 //추가된 후의 배열 요소 개수 반환

nums
▶ (4) ["0", "1", "2", "3"]
배열의 맨 앞에 요소 추가
기존 배열에 변화를 준다.
pop( ) var study = ["html", "css", "javascript"]
study.pop( )
"javascript"

study
▶ (2) ["html", "css"]
배열의 마지막 요소 값 반환
배열에서 요소를 추출 → 해당 요소가 빠지면서 배열이 수정 → 배열 삭제 효과
shift( ) var js = ["node", "react", "angular", "vue"]
js.shift( )
"node"

js
▶ (3) ["react", "angular", "vue"]
배열의 첫 번째 요소 값 반환
배열에서 요소를 추출 → 해당 요소가 빠지면서 배열이 수정 → 배열 삭제 효과
splice( ) var numbers = [0, 1, 2, 3, 4, 5]
numbers.splice(2) //인수가 1개인 경우
▶ (4) [2, 3, 4, 5]
numbers
▶ (2) [0, 1]

var numbers = [0, 1, 2, 3, 4, 5]

numbers.splice(2, 1) //인수가 2개인 경우
▶ [2] 
numbers
▶ (5) [0, 1, 3, 4, 5]

var study = ["html", "css", "javascript"]
study.splice(2, 1, "js") //인수가 3개이상인 경우
study.splice(2, 0, "aa", "bb") //삭제하지 않고 추가하는 경우

▶ ["javascript"]
study
▶ (3) ["html", "css", "js"]
배열의 중간 부분에 요소 추가/추출(삭제) 
기존 배열에 변화를 준다

(1) 인수가 1개일 경우 
 : 해당 인덱스 요소부터 끝까지 삭제
(2) 인수가 2개일 경우
 : 첫 번째 인수가 인덱스값, 
  두 번째 인수는 삭제할 개수가 된다.
(3) 인수가 3개 이상일 경우 
 : 첫 번째 인수는 삭제를 시작할 위치, 
  두 번째 인수는 삭제할 개수, 
  세 번째 인수 이후는 추가할 요소가 된다.
slice( ) var colors = ["red", "green", "blue", "white", "black"]
colors.slice(2)
▶ (3) ["blue", "white", "black"]

var colors1 = colors.slice( );  // 인자가 없으면 그대로 복사됨
colors1
▶ ["red", "green", "blue", "white", "black"]

var colors2 = colors.slice(1, 4)
colors2
▶(3) ["green", "blue", "white"]

colors //기존 배열은 변화 X
▶(5) ["red", "green", "blue", "white", "black"]
시작 인덱스와 끝 인덱스를 지정해 그 사이의 요소를 꺼냄(끝 인덱스는 포함되지 X)
시작 인덱스만 지정할 경우 해당 인덱스 부터 배열 끝까지 추출
인자가 없으면 원래 배열 그대로 복사됨

기존의 배열은 변경되지 않는다.
every( ) var number = [1, 2, 3, 4, 5]
var result = number.every(function (num){
    return num <= 5;
});
result
true
배열의 모든 요소가 주어진 판별함수를 통과하는지 테스트한다. 판별함수는  return 값이  true ,  false 가 되도록 지정해야한다.
배열의 모든 요소가 주어진 함수에 대해  true 라면  true 를 반환하고 그렇지 않으면  false 를 반환
빈 배열에서 호출하면 무조건  true 를 반환
filter( ) var words = ['spray', 'limit', 'elite', 'destruction', 'present']
var result = words.filter(function (val){
    return val.length > 6;
});
result
▶ ["destruction", "present"]
배열의 요소 중 주어진 필터링 함수에 대해  true 인 요소만 골라 새로운 배열을 만듦
요소가 전부  false 면 빈배열을 반환한다.
forEach( ) var study = ["html", "css", "javascript"]
study.forEach(function (item, index, array) {
    console.log("[" + index + "]", item)
})
[0] html
[1] css
[2] javascript
배열의 모든 요소에 대해 지정한 함수를 실행
indexOf( ) var study = ["html", "css", "javascript"]
study.indexOf("css")
1   //인덱스는 0부터 시작
주어진 값과 일치하는 값이 있는 배열 요소의 첫 인덱스를 찾는다.
reverse( ) var study = ["html", "css", "javascript"]
study.reverse( )
▶ (3) ["javascript", "css", "html"]
배열의 배치 순서를 역순으로 바꿈
sort( ) var array = ["a", "A", "B", "b"]
array.sort( )
▶ (4) ["A", "B", "a", "b"]
배열 요소를 지정한 조건에 따라 정렬
조건을 지정하지 않으면 문자열의 유니코드를 기준으로 정렬
toString( ) var array = ["a", "A", "B", "b"]
array.toString( )

"a,A,B,b"
배열에서 지정한 부분을 문자열로 반환
각 요소는 쉼표( , )로 구분한다.

 

 

 

+ Recent posts