Programming/Javascript
javascript array의 원소 삭제하기
동건
2017. 5. 22. 18:45
javascript Array의 특정 원소를 지우는 법을 정리한다. python에서는 다음과 같은 코드로 같은 작업을 할 것이다.
a = [1, 2, 3, 4]
a.remove(3)
다음은 javascript 코드이다. 지우고 싶은 원소의 인덱스를 찾아서 splice
함수를 통해서 지운다.
let a = [1, 2, 3, 4]
const idx = a.indexOf(3)
if (idx > -1) a.splice(idx, 1)
단순 array가 아닌 object를 담는 array에서 특정 field 값을 가지는 object를 지우고 싶다면 다음과 같은 방식으로 할 수 있다. functional programming style의 find
함수를 이용해서 원하는 object를 찾고, 그 이후는 같은 논리로 코드가 진행된다.
let a = [ {f1: 1, f2: 2}, {f1: 3, f2: 4} ]
const itemToFind = a.find(function(item) {return item.f1 === 1})
const idx = a.indexOf(itemToFind)
if (idx > -1) a.splice(idx, 1)
find 함수 대신 findIndex
함수를 이용하면 중간 단계를 건너 뛸 수 있다.
let a = [ {f1: 1, f2: 2}, {f1: 3, f2: 4} ]
const idx = a.findIndex(function(item) {return item.f1 === 1}) // findIndex = find + indexOf
if (idx > -1) a.splice(idx, 1)
참조 링크
Array.prototype.splice
https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
Array.prototype.find
https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/find
Array.prototype.findIndex
https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
반응형