Eveningstar

배열 본문

Javascript

배열

두루루루루 2017. 6. 22. 00:38

배열(Array)


- 배열이란 연관된 데이터를 모아서 관리하기위해 사용하는 데이터 타입이다. 변수가 하나의 데이터를 저장한다면, 배열은 여러 개의 데이터를 하나의 변수에 저장하기 위한 것이다.



배열을 생성하기 위해서는 대괄호 [ ] 안에 콤마로 구분해준 데이터를 넣어 나열하면 된다. 


var fruit = ['apple', 'banana', 'grape']


회원정보를 하나의 배열에 담아보자.



var info = ['name', 'age', 'birthday']
console.log(info[0]);
console.log(info[1]);
console.log(info[2]);


* 배열은 0부터 순서가 시작된다. 이 순서는 index라고도 부른다. 인덱스 값을 통해 배열에 저장된 값을 가져올 수 있다.(일종의 좌표)




- 함수배열 리턴 : 하나의 함수는 하나의 값만 반환할 수 있지만 아래의 함수는 여러개의 배열을 반환할 수 있다.
function get_fruit(){
    return ['apple', 'banana', 'grape'];
} // 함수에 리턴
var fruit = get_fruit();
 
console.log(fruit [0]);
console.log(fruit [1]);
console.log(fruit [2]);


array()/ 생성자 함수

- 내장 함수 Array() 생성자 함수로 배열을 생성하는 것을 단순화 시킬 수 있다.

var arr = new Array(1, 2, 3); // 매개변수로 전달된 값을 요소로 가지는 배열 생성
console.log(arr.length, arr);


배열 추가


값이 할당되지 않은 인덱스 위치의 요소 값에 값을 저장할 수 있고, 배열의 길이는 최종 인덱스의 위치를 기준으로 산정된다.

var emptyArr = [];
console.log(emptyArr[0]); // undefined
emptyArr[0] = 'one';
emptyArr[3] = 'three';
emptyArr[7] = 'seven';

console.dir(emptyArr); //directory




배열 삭제

- 배열의 요소를 삭제하는 법 1) delete연산자, 2)splice() 메서드

var numbersArr = ['zero', 'one', 'two', 'three'];

// 요소의 값만 삭제된다
delete numbersArr[2]; //몇번째 배열이 삭제되었을까?

console.log(numbersArr); // 요소 일부를 삭제 (배열 시작점, 삭제할 요소수) numbersArr.splice(2, 1); //몇번째 배열이 삭제되었을까?

console.log(numbersArr);



배열 삭제 + 추가 / 추가

- splice() 메서드 

var items = ['one', 'two', 'three', 'four'];

// items[1]부터 2개의 요소를 제거하고 그자리에 새로운 요소를 추가한다. 제거된 요소가 반환된다.
var res = items.splice(1, 2, 'x', 'y');

console.log(items); // 교체

var res = items.splice(1, 0, 'x');

console.log(items); // 추가


배열 정렬

- sort();/알파벳순, 오름차순, reverst();ㅑ-/역알파벳순, 내림차순


var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
console.log(fruits);

fruits.reverse();
console.log(fruits); 

var points = [40, 100, 1, 5, 25, 10];
points.sort();
console.log(points);


'Javascript' 카테고리의 다른 글

객체  (0) 2017.07.07
함수(function)  (0) 2017.07.03
반복문  (0) 2017.06.19
조건문  (0) 2017.06.15
변수  (0) 2017.06.15
Comments