본문 바로가기

Web/Javascript

자주 사용하는 배열(Array) - pop,shift, push, unshift,split,splice,fill

수정 메소드는 원본 배열을 바로 수정하기 때문에  수정, 삭제, 추가 등이 원본 배열에 반영됨.

 

pop()

배열의 마지막 부터 차례로 뽑고 뽑은 값을 반환한다.


shift()

앞에서부터 뽑고 뽑은 값을 반환한다.


push(값)

배열 맨 뒤로 값 입력하고 배열 길이를 반환한다.

 


unshift(값)

값을 배열 앞에서 입력하고( 새로 들어온 값이 가장 앞에 위치 ) 배열길이를 반환한다.

(최근 업데이트 된 것이 배열의 가장 앞에 옴, sns 피드 글 게시되는 것 생각하면 됨)

인자를 두개 넘겼을 때 첫번째 인자 먼저 삽입될 줄 알았는데, 아니었다.

인자로 넘긴 값을 배열이라고 생각하고 두 배열을 잇는다 생각해야겠다.

안그럼 헷갈릴 것 같다;;

 


splice(시작점 , 제거할 원소 갯수, 새로 삽입할 값)

시작점 인덱스에서 y개를 뽑는다. 세번째 매개변수에 값을 넣지 않으면 삭제만 되고

삽입할 값을 여러개 넣어도 된다. 

splice를 이용해서 랜덤한 수 뽑을 때★

1
2
3
4
5
6
7
8
9
let array1 = [1,2,3,4,5,6,7,8,9,10];
let result = array1.splice(Math.random()*array1.length-1,1)[0];
 
//배열 길이 내의 랜덤한 수를 인덱스로 뽑는다.
//그 인덱스 번째에서 1개를 뽑아서 반환한다.
//splice는 결과를 배열로 반환하기 때문에
//뒤에 [0]를 붙혀서 반환받은 배열의 0번째 인덱스에 있는 값을 지정해서 꺼내와야 한다.
//(예를들어 array1에서 첫번째 요소 값 하나를 뽑았다고치면, 1을 반환하는게 아닌 [1]형태의 배열로 반환.)

 


문자.split('구분자')

문자를 배열로 바꿔줌

(접근자 메서드의 join과 반대기능)


배열.fill(값, 시작 인덱스, 끝인덱스) 

배열의 (시작 인덱스 ~ 끝 인덱스-1)의 이전까지 정적인 값 하나로 채우고 변형한 배열 리턴해줌,

시작 인덱스와 끝 인덱스는 선택사항

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const array1 = [14916];
 
// 2로 채워라 인덱스2에서부터 인덱스4까지 
array1.fill(2,2,4); 
console.log(array1);
// expected output:    1,4,2,2
 
// 인덱스 1이후의 요소를 모두 3으로 채워라
console.log(array1.fill(3,1));
// expected output: 1 3 3 3
 
//모두 5로 채워라
console.log(array1.fill(5));
// expected output: 5 5 5 5