const arr = [1, 2, 3, 4];
맨 뒤 요소 추가 arr.push(5) // [1, 2, 3, 4, 5]
맨 뒤 요소 제거 const pop = arr.pop() // [1, 2, 3] & pop = 4
맨 앞 요소 추가 arr.unshift(5) // [5, 1, 2 ,3 ,4]
맨 앞 요소 제거 const shift = arr.shift(); // [2, 3, 4] & shift = 1
배열에 특정 요소가 포함되어 있는지 .includes(element);
정렬
function solution(stacks) {
// 여기에 코드를 작성하세요.
return stacks.sort().reverse();
}
solution(["typescript", "express", "node", "react"]);
// ["typescript", "react", "node", "express"]
solution(["docker", "graphql", "javascript"]);
// ["javascript", "graphql", "docker"]
스프레드 연산자 ...arr
function solution(prev, join) {
// 여기에 코드를 작성하세요.
// const last = prev.shift();
// prev.push(last)
// prev.unshift(join);
// return prev;
const last = prev.shift();
return [join, ...prev, last]
}
solution(["sudo", "임금"], "라떼");
// ["라떼", "임금", "sudo"];
solution(["아버", "광어", "안드로이드", "siri"], "피카츄");
// ["피카츄", "광어", "안드로이드", "siri", "아버"];
배열 자르기
_원본 배열 자체를 변경_
const arr = [0, 1, 2, 3, 4];
const 자른 거 = arr.splice(1, 2);
// arr: [0, 3, 4] & 자른 거: [1, 2]
const 자른 거 = arr.slice(1, 3);
// arr: [0, 1, 2, 3, 4], 자른 거 : [1, 2]
function solution(feature) {
// 여기에 코드를 작성하세요.
// if(feature.includes("bug")){
// const indexOfBug = feature.indexOf("bug");
// feature.splice(indexOfBug, 1);
// }
// return feature;
const indexOfBug = feature.indexOf('bug');
if(indexOfBug === -1){
return feature;
}
// 버그 인덱스 전까지 요소들
const arr1 = feature.slice(0, indexOfBug);
// 버그 인덱스부터 끝까지 요소들
const arr2 = feature.slice(indexOfBug + 1);
// 배열 붙이기
return arr1.concat(arr2);
// spread 구문 사용 가능
// return [...arr1, ...arr2];
}
solution(["code", "bug", "code"]); // ["code", "code"]
solution(["code", "code"]); // ["code", "code"]
문제에 따라 slice()와 splice()를 적절히 사용한다.
concat()은 배열을 이어붙일 때 사용한다.
spread연산자로 펼쳐서 이어붙여도 좋다.