본문 바로가기
개발 공부/웹개발

[JavaScript] 배열 원소를 검색하여 없애거나 바꾸기

by 크롱이크 2021. 6. 21.

어떤 배열에서 주어진 값을 찾아서 원소를 제거하거나 다른 값으로 치환하고 싶을 때 사용하는 방법

이럴 경우, 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

반응형

댓글