array에서 사용하는 메소드
find()와 includes()의 비교입니다.
array.find()
- find() 메서드는 주어진 함수를 만족하는 첫 번째 요소의 값을 반환합니다.
- 그런 요소가 없다면 undefinded를 반환합니다.
- 찾은 요소의 값 대신 인덱스를 반환하는 것은 findIndex()
- 요소의 위치를 찾고자 하는 경우에는 indexOf()
- 배열 요소가 해당 배열에 존재하는지 확인하고자 하는 경우에는 Array.prototype.indexOf() 또는 Array.prototype.includes()를 사용세요.
array.find() 예시
const arr1 = [5, 30, 7, 120, 45];
const found = arr1.find(el => el > 10);
console.log(found);
//결과 30
array.findIndex() 예시
const arr1 = [5, 30, 7, 120, 45];
const found = arr1.findIndex(el => el > 10);
console.log(found);
//결과 1
여기서 주어진 조건에 만족하는 모든 요소를 찾기 위해서는 filter 메소드를 사용합니다.
array.filter() 예시
const arr1 = [5, 30, 7, 120, 45];
const found = arr1.filter(el => el > 10);
console.log(found);
//결과 [30, 120, 45]
String 또는 Array.indexOf()
- String 문자열 또는 Array에 사용되는 메소드입니다.
- 호출한 String 객체 또는 배열에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다.
- 일치하는 값이 없으면 -1을 반환합니다.
String.indexOf() 예시
'Blue Whale'.indexOf('Blue'); // returns 0
'Blue Whale'.indexOf('Blute'); // returns -1
'Blue Whale'.indexOf('blue'); // returns -1
Array.indexOf() 예시
const beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];
console.log(beasts.indexOf('camel'));
//결과 2
Array.includes()
- 배열이 특정 요소를 포함하고 있는지 판별합니다.
- boolean(true, false)를 반환합니다.
- 검색 기능을 구현할때 주로 사용합니다.
Array.includes() 예시
const arr1 = [5, 30, 7, 120, 45];
const found = arr1.includes(45);
console.log(found);
//결과 true
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
find includes 차이
find()는 조건을 지정하여 특정 값을 가져올 필요가 있을 때 사용하고
includes()는 특정한 문자열에 대해 일치하는지 여부(true/false)를 확인할 때 사용합니다.
조건문에서 true, flase만 체크하면 되는 경우,
find를 사용할 경우 불필요한 메모리 누수를 시킬 수 있으니
includes 사용을 권장합니다.
반응형
'개발 > Javascript' 카테고리의 다른 글
[js] 반응형 이미지 맵 구현 (ft. image-map 라이브러리) (0) | 2022.02.15 |
---|---|
[js] 두가지 배열 합치기, 중복되는 요소 찾기 (0) | 2022.01.24 |
[js] 자바스크립트 코드 줄이는 방법 (0) | 2022.01.24 |
[js] button submit 막기 (ft. form) (0) | 2022.01.16 |
[js] 이미지 특정 위치 클릭시 이벤트 처리 (ft. 특정 좌표 area, map) (0) | 2022.01.06 |
댓글