수상한 프로그래머/죽은 소스 살려내는 꾸르팁

자바스크립트 배열 특정 요소 삭제 javascript array delete object

산산지 2019. 10. 2. 16:03
반응형

지우고 싶은 원소의 인덱스를 찾아서 splice 함수를 통해서 지운다.

let a = [1, 2, 3, 4];

const idx = a.indexOf(3);

a.splice(idx, 1);

이렇게 지우면 a에는 [1, 2, 4]만 남게 된다.

 

object를 담는 array에서 특정 field 값을 가지는 object를 지우고 싶다면

let a = [ {x: 1, y: 2}, {x: 3, y: 4} ];

const findItem = a.find(function(item) {

return item.x === 1

});

const idx = a.indexOf(findItem);

a.splice(idx, 1);

이렇게 지우면 a에는 [ {x: 3, y: 4} ]만 남게 된다.

 

find 함수 대신 findIndex 함수를 이용하면 조금 더 쉬움

let a = [ {x: 1, y: 2}, {x: 3, y: 4} ];

const idx = a.findIndex(function(item) {return item.x === 1});

a.splice(idx, 1);

반응형