개발 공부/웹개발
[JavaScript] 배열 원소를 검색하여 없애거나 바꾸기
크롱이크
2021. 6. 21. 09:40
어떤 배열에서 주어진 값을 찾아서 원소를 제거하거나 다른 값으로 치환하고 싶을 때 사용하는 방법
이럴 경우, indexOf와 splice 를 사용해야한다.
let numbers = new Array(0,1,2,3,4,5,6,7);
//배열에서 원소 제거 //4를 제거하고 싶을때
animals.splice(animals.indexOf("walrus"),1); // [0,1,2,3,5,6,7]
//새로운 원소 삽입 // 2뒤에 100을 넣고 싶을때
numbers.splice(numbers.lastIndexOf(2),1,100); //[0,1,100,3,5,6,7]
splice 설명
splice 메서드에는 세 개의 인수를 전달한다.
(1)반드시 입력해야 하는 첫번째 인수는 잘라낼 시작 위치이다.
두번째 인수는 제거할 원소의 개수이고(생략가능),
세번째 인수는 치환할 내용이다.(생략가능)
인덱스가 음수면 원소는 배열의 끝 부분부터 잘린다.
(2)잘라내는 원소의 개수가 주어지지 않으면 시작위치부터 배열의 끝까지 모든 원소가 제거된다.
(3)마지막 인수는 바꿀 값인데, 쉼표로 분리하면 값을 여러 개 입력할 수 있다.
(1)-------
let animals = new Array("cat","walrus","lion","cat");
//새로운 원소 삽입
animals.splice(-1,1,"monkey"); //cat,walrus,lion,monkey
(2)-------
let animals = new Array("cat","walrus","lion","cat");
//두번째부터 끝까지 모든 원소 제거
animals.splice(2); //cat,walrus
(3)-------
let animals = new Array("cat","walrus","lion","cat");
//두번째 인수를 다른 두개의 값으로 치환
animals.splice(2,1,"zebra","elephant"); //cat,walrus,zebra,elephant,cat
출처
https://mylko72.gitbooks.io/javascript-cookbook/content/chapter5/chapter5_9.html
반응형