티스토리 뷰

js - filter, includes

오늘 코딩 중에 arr1에 있는 것들 중 arr2에 포함되는 게 있으면 빼고 insert 해야하는 내용이 있었다.

filter함수를 사용하면 콜백 함수내에서 조건에 해당하는 부분만 다시 리턴하게 할 수가 있었다.

그래서 contains 같은게 javascript에 있나 싶어서 찾아봤더니 includes가 해당 역할을 했다.

 

Array.prototype.includes()

배열이 특정 요소를 포함하고 있는지 판별합니다. (true/false)

출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

 

Array.prototype.includes() - JavaScript | MDN

includes() 메서드는 배열이 특정 요소를 포함하고 있는지 판별합니다.

developer.mozilla.org

Array.prototype.filter()

주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.

출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

 

Array.prototype.filter() - JavaScript | MDN

filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.

developer.mozilla.org

 

js - 배열의 특정 값을 삭제하는 방법

pop, delete 등 얘를 한번에 지우는 함수가 없는 것 같았다. 

이진탐색을 해서 걔를 찾아서 지워야하나?? 생각했는데 생각이 거기까지 미치다 보니

js에서 특정 위치를 찾는 방법이 없을 리가 없을 것 같았다.

 

역시나.. 있다.

indexOf. 내가 왜 이 생각을 못했지?

 

 

Array.prototype.indexOf()

배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환합니다.

출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf

 

나는 배열에 무조건 포함이 되어 있을 요소를 지우는 거라 index를 무조건 찾을 수 있었다.

그래서 얘를 이용해 index를 찾고,

 

Array.prototype.splice()

배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.

출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

 

Array.prototype.splice() - JavaScript | MDN

splice() 메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.

developer.mozilla.org

 

splice를 이용해 해당 인덱스부터 1개를 지우도록 했다.

array.splice(start[, deleteCount[, item1[, item2[, ...]]]])

예를 들면

arr.splice(1,1); // 1번 index부터 1개 요소 삭제

이런 느낌이다.

indexOf로 찾은 index를 start에 넣고 1개 지우도록 하면 그 위치에 있는 요소가 지워진다.

 

java DAO Implement 

오늘 회사에서 java DAO 부분을 많이 만져야 했다. 그런데 java 단을 건드리지 않은 지 어언 3개월.. 기억이 잘 안 났다.

그래서 다른 프로젝트 넘겨받은 거에 CRUD하는 부분을 참고하려 했는데 나한테 필요없는 부분들도 있고, 왜 저렇게 했는지 이해가 안되는 부분들이 많았다. 

아무래도 회사 라이브러리를 쓰다 보니까 다르게 구현되는 점들도 있어서 구글링으로 막 고치기가 힘들었다. 대충 어느 정도 이해한 후 작성하기 시작했는데 그 어느 정도 이해하는 시간이 거의 반나절이 걸린 것 같다..

내일까지 업무를 전체적으로 마무리해야하는데 잘할 수 있었으면 좋겠다. 주말에 mvc 프로젝트 한 부분들 보면서 DAO 컨트롤 하는 방법을 좀 더 익혀야 겠다.

'공부 > TIL' 카테고리의 다른 글

[javascript] forEach, lambda(=>), includes는 IE에서 지원 안됨  (0) 2022.03.17