Day 7 - Array Cardio Day 2
Full Script
1 | // Data |
some, every
some
은 하나라도 조건을 만족하면 true
를 반환하고, every
는 모두 조건을 만족해야 true
을 반환한다. 사용법은 매우 간단하다. some
과 every
는 format이 동일하므로 some
만 살펴보자.
1 | const isAdult = people.some((person) => new Date().getFullYear() - person.year >= 19); |
Arrow Function으로 작성되었는데 풀어보면
1 | const isAdult = people.some(function (person) { |
이것과 똑같다. 특정 조건이 참인지 여부를 검사하고 boolean 값을 반환한다.
find, findIndex
1 | const comment = comments.find((comment) => comment.id === 823423); |
find
는 말 그대로 특정 조건에 부합하는 데이터를 찾고, 그 첫 번째 데이터를 반환한다. 단 하나의 객체만 반환할 수 있다.
1 | const index = comments.findIndex((comment) => comment.id === 823423); |
findIndex
는 find
와 거의 동일하지만 객체 배열에서 특정 조건을 찾았을 때 객체를 반환하는 것이 아닌, 인덱스를 반환한다.
splice
splice
의 기본 문법은 다음과 같다.
1 | array.splice(start[, deleteCount[, item1[, item2[, ...]]]]) |
이번 예제에서 splice
를 사용한 방법은
1 | comments.splice(index, 1); |
위의 문법에 대입해서 생각하면 이전에 찾은 index
값을 시작으로 1개의 값을 삭제한다.
spread (전개구문)
위의 splice
를 사용하는 방법도 있지만, spread 구문을 사용하는 방법도 있다. 전개구문은 ...
을 배열에 붙여서 사용하는데, unpack
의 개념과 비슷하다.
1 | arr = [1,2,3] |
이렇게 배열의 껍데기를 벗기고 내용물을 보여준다.
예제의 splice
, 즉 index
의 내용을 제외한 나머지 comments
를 보여주기 위해서는,
1 | const newComments = [ |
index
를 기준으로 앞에서 자르고 뒤에서 잘라서 붙여주면 된다. ...
를 사용하지 않으면 object
객체끼리 합쳐지기 때문에 내용물을 붙이기 위해 전개 구문을 사용한다.