[TIL/모던 자바스크립트 Deep Dive] 2023/08/10
Array.prototype.splice 🟣push, pop, unshift, shift 메서드는 모두 원본 배열을 직접 변경하는 메서드였다. 원본 배열의 처음 또는 마지막에 요소를 추가하거나 제거하는 기능을 수행했다.원본 배열의 중간에 요소를 추가하거나 제거하는 경
27장. 배열 🟢
27-8. 배열 메서드 🟡
Array.prototype.splice 🟣
push, pop, unshift, shift 메서드는 모두 원본 배열을 직접 변경하는 메서드였다. 원본 배열의 ``처음 또는 마지막`에 요소를 `추가하거나 제거``하는 기능을 수행했다.

원본 배열의 ``중간``에 요소를 추가하거나 제거하는 경우에 splice 메서드를 사용한다. splice 메서드는 3개의 매개변수가 있으며 원본 배열을 직접 변경한다.

splice 메서드의 두 번째 인수(=제거할 요소의 개수)를 0으로 지정하면, 아무런 요소도 제거하지 않고 새로운 요소들을 삽입한다.

splice 메서드의 세 번째 인수(=제거한 위치에 추가할 요소들의 목록)를 전달하지 않으면, 원본 배열에서 지정된 요소를 제거하기만 한다.

splice 메서드의 두 번째 인수를 생략하면, 첫 번째 인수로 전달된 시작 인덱스부터 모든 요소를 제거한다.

배열에서 특정 요소를 제거하려면 indexOf 메서드를 통해 특정 요소의 인덱스를 취득한 다음 splice 메서드를 사용한다.

MDN 왈...

filter 메서드를 사용하여 특정 요소를 제거할 수도 있다. 하지만 특정 요소가 중복된 경우 모두 제거된다.

Array.prototype.slice 🟣
slice 메서드는 인수로 전달된 범위의 요소들을 복사하여 배열로 반환한다. 원본 배열은 변경되지 않는다. splice와 이름이 유사하니 주의하도록 하자.

slice 메서드의 두 번째 인수를 생략하면, 첫 번째 인수로 전달받은 인덱스부터 모든 요소를 복사하여 배열로 반환한다.

slice 메서드의 첫 번째 인수가 음수인 경우, 배열의 끝에서부터 요소를 복사하여 배열로 반환한다.

slice 메서드의 인수를 모두 생략하면, 원본 배열의 복사본을 생성하여 반환한다.

이때 생성된 복사본은 얕은 복사를 통해 생성된다.

slice 메서드가 복사본을 생성하는 것을 이용하여 arguments, HTMLCollection, NodeList 같은 유사 배열 객체를 배열로 변환할 수 있다고 한다.
More to read
Amazon VPC Architecture 이해하기
새로운 프로젝트를 기획하며, 개발에서 무엇을 가장 먼저 고민해야 하는지 다시 돌아보게 되었습니다.한때는 프론트엔드가 모든 설계의 출발점이라고 믿었습니다. 유저가 무엇을 보고, 어떤 흐름에서 머무르고 이탈하는지에 대한 이해 없이 서비스를 만든다는 건 불가능하다고 생각했기
'원사이트'프론트엔드 관점으로 알고리즘 이해하기
오랜만에 방법론에 관한 글을 쓰게 되었습니다. 최근 상황은 이렇습니다. SSAFY에서는 하루에 엄청난 양의 알고리즘 문제들을 과제로 수행하게 됩니다. 그 과정에서, '구현력'이 매우 떨어진다는 생각이 들었습니다. 완전히 어려운 문제라면 '아쉬움'이라는 감정조차 느끼지
SubnetVPC 설계의 시작: IP와 Subnet
반복되는 루틴 속에서 얻은 안정감을 발판 삼아, 이제는 기술적 스펙트럼을 넓히기 위한 개인 프로젝트에 착수하고자 합니다.이번 프로젝트의 목표는 단순한 포트폴리오 구축을 넘어, 실제 서비스 수준의 블로그 시스템 구현과 다국어 처리 적용 등 실무에 가까운 역량을 한 단계