splice 메서드는 배열 내의 특정한 요소를 삭제하거나, 다른 요소로 대치하거나 새로운 요소를 추가할 때 사용한다.
splice 메서드를 쓸 때는 인자의 순서에 주의해야 한다.
slice와 다르게 원본 배열을 변형시킨다.
splice( start, delete, item )
splice 메서드는 필요에 따라 인자를 최소 1개만 쓸 수도 있다.
🌝 보통 댓글 삭제 기능을 구현할 때, splice 메서드를 많이 활용한다!
function goToMart() {
let shoppingCart = ['햄', '김밥김', '단무지', '우유', '시금치', '쌀', '당근', '계란'];
shoppingCart.splice(3,1,'두유');
return shoppingCart;
}
console.log(goToMart());
//['햄', '김밥김', '단무지', '두유', '시금치', '쌀', '당근', '계란']
for문의 중괄호 안에 또 다른 for문을 작성할 수 있다.
아래 예시를 통해 살펴보자.
let numBox = [[1,2,15,3], [4,5,6,10], [31,7,8,9,20]];
function extractOverTen(list){
let temp = [];
for (let i=0; i<list.length; i++){
for(let j=0; j<list[i].length; j++){
if(list[i][j] >= 10){
temp.push(list[i][j]);
}
}
}
return temp;
}
console.log(extractOverTen(numBox)); //[15, 10, 31, 20]
let basket = [['양파', '곰팡이'], ['곰팡이', '빵', '딸기잼'], ['귤', '곰팡이', '사과']];
function removeGerm(arr) {
let temp = [];
for( let i=0; i<arr.length; i++){
for( let j=0; j<list[i].length; j++) {
if(arr[i][j] === '곰팡이'){
arr[i].splice(j, 1)
j--;
}
}
}
return arr;
}
console.log(removeGerm(basket));
//[['양파'], ['빵', '딸기잼'], ['귤', '사과']]