Array
push
- 배열의 제일 마지막에 값을 넣는다.
var arr = ["첫번째", "두번째", "세번째"];
arr.push("네번째");
console.log(arr); // ["첫번째", "두번째", "세번째", "네번째"]
arr.push("다섯번째", "여섯번째", "일곱번째");
console.log(arr); // \["첫번째", "두번째", "세번째", "네번째", "다섯번째", "여섯번째", "일곱번째"\]
pop
- 배열의 제일 마지막 값을 뺀다.
var arr = ["첫번째", "두번째", "세번째"];
arr.pop();
console.log(arr); // \["첫번째", "두번째"\]
shift
- 배열의 제일 첫번째 값을 뺀다.
var arr = ["첫번째", "두번째", "세번째"];
arr.shift();
console.log(arr); // \["두번째", "세번째"\]
unshift
- 배열의 제일 첫칸에 값을 넣는다.
var arr = ["첫번째", "두번째", "세번째"];
arr.unshift("-1번째", "ZERO번째");
console.log(arr); // \[ '-1번째', 'ZERO번째', '첫번째', '두번째', '세번째' \]
splice
- arr.splice(시작 인덱스, 제거할 갯수, [삽입할 값], ...);
- 지정한 인덱스부터 값을 지운다. 지운 부분에 새로운 값을 넣을 수 있다.
- 본래 변수의 배열과 리턴값이 저장된 변수의 차이에 주의.
var arr = [0, 1, 2, 3, 4, 5];
var result = arr.splice(1,4); // 1번째 인덱스에서부터 4개 제거
console.log(arr); // splice 함수로 제거 당한 배열. // \[ 0, 5 \]
console.log(result); // splice 함수로 제거 당한 후 남은 배열 // \[ 1, 2, 3, 4 \]
var arr2 = \["a", "b", "c", "d", "e"\];
var result2 = arr2.splice(1,3,"ㄱ","ㄴ");
console.log(arr2); // splice 함수로 제거 당한 후 세번째 이후 매개변수를 삽입 // \[ 'a', 'ㄱ', 'ㄴ', 'e' \]
console.log(result2); // splice 함수로 제거 당한 후 남은 배열 // \[ 'b', 'c', 'd' \]
split
string.split(분할 기준, [분할 갯수]])
문자열을 배열로 분할한다.
var str = "가나다라마바사아자차카";
var arr = str.split("", 5);
console.log(str2); // \[ '가', '나', '다', '라', '마' \]
join
- arr.join(배열을 이어줄 문자));
- 배열을 문자열로 합친다.
var arr = [0, 1, 2, 3, 4, 5, "육"];
var str = arr.join("ㅋ");
console.log(str); // 0ㅋ1ㅋ2ㅋ3ㅋ4ㅋ5ㅋ육
fill
arr.fill([채울 문자], [시작 인덱스], [끝 인덱스+1])
배열에 값을 채운다.
arr.fill();
console.log(arr); // 7개의 인덱스 모두 undefined
arr.fill("S", 2);
console.log(arr); // \[ '월', '화', 'S', 'S', 'S', 'S', 'S' \]
arr.fill("Y", 3, 5);
console.log(arr); // \[ '월', '화', '수', 'Y', 'Y', '토', '일' \]
map
- arr.map((엘리먼트, 인덱스, [배열본체])=>{})
- 배열을 순회하여 리턴한 값을 배열에 다시 넣어준다.
var map = arr.map((element, indexnnnnnnnnnnnnnnnn j)=>{
return element+1;
})
console.log(map); // [ '월1', '화1', '수1', '목1', '금1', '토1', '일1' ]
var map2 = arr.map((element, index)=>{
return index+1;
})
console.log(map2); // \[ 1, 2, 3, 4, 5, 6, 7 \]
filter
reduce
sort
- 오름차순, 내림차순 정렬
- 문자열로 변환하여 정렬하는 방식이여서 숫자의 경우 추가 코드를 작성해야한다.
var arr = [31, 22, 36, 1, 8, 5, 11]
var result = arr.sort();
console.log(result); // \[ 1, 11, 22, 31, 36, 5, 8 \]
/*
p, c에 배열의 0번째 인덱스부터 하나씩 대입하여 0보다크면 순서를 변경하는 방법으로 정렬한다.
ex)
31 - 22 = 9 (순서를 바꾼다.) => \[22, 31, 36, 1, 8, 5, 11\]
31 - 36 = -5 (순서를 바꾸지 않는다.) => \[22, 31, 36, 1, 8, 5, 11\]
36 - 1 = 35 (순서를 바꾸고 다음번엔 전 인덱스의 값과 비교한다.) => \[22, 31, 1, 36, 8, 5, 11\]
*/
var result2 = arr.sort((p, c)=>p-c)
console.log(result2); // \[ 1, 5, 8, 11, 22, 31, 36 \]
var result3 = arr.sort((p, c)=>c-p)
console.log(result3); // \[ 36, 31, 22, 11, 8, 5, 1 \]
// 문자열 역정렬
function compStringReverse(a, b){
if(a>b) return -1;
if(b>a) return 1;
return 0;
}
var day = \["월", "화", "수", "목", "금", "토", "일"\];
console.log(day.sort(compStringReverse)); // \[ '화', '토', '일', '월', '수', '목', '금' \]
find
- arr.find((v)=>{ return v[0]==="값"});
- 2차원 배열 이상일때 쓰인다.
- 반복문이지만 원하는것을 찾으면 멈춘다.(return값이 true일때)
- 반환값은 찾은 밸류
var obj = {
"이름" : "백인재",
"나이" : 27,
"주소" : "서울시 송파구",
}
Object.entries(obj).find((v)=>{
console.log(v);
return v\[0\] === '나이';
});
/*
\[ '이름', '백인재' \]
\[ '나이', 27 \]
객체 obj를 배열로 만들고 배열을 반복하여 인덱스 0의 밸류가 '나이'인것을 찾으면 멈춘다.
*/
findIndex
- arr.findIndex((v)=>{ return v[0] === "값" })
- 2차원 배열 이상일때 쓰인다.
- 반복문이지만 원하는것을 찾으면 멈춘다.(return값이 true일때)
- 반환값은 찾은 인덱스
var obj = {
"이름" : "백인재",
"나이" : 27,
"주소" : "서울시 송파구",
}
var result = Object.entries(obj).findIndex((v)=>{
return v[0]==="주소";
});
console.log(result); // 2