일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- SW
- redux
- Python
- react
- 자바
- sw expert academy
- axios
- json-server
- react-router
- useDispatch
- react-redux
- Algorithm
- createSlice
- 항해플러스
- Get
- C++
- maeil-mail
- redux-saga
- JavaScript
- 알고리즘
- 프로그래머스
- redux-toolkit
- 코딩테스트합격자되기
- 이코테
- 매일메일
- java
- 테코테코
- 리액트
- 항해99
- programmers
- Today
- Total
Binary Journey
[Javascript] Array.prototype.some(), Array.prototype.every() 본문
[Javascript] Array.prototype.some(), Array.prototype.every()
binaryJournalist 2021. 3. 31. 16:02
Array.prototype.some() 은 확인할 list 내 원하는 조건을 만족하는 값이 하나라도 있을 경우 true 를 return
Array.prototype.every() 는 확인할 list 내 모든 값이 조건을 만족해야 true 를 return (하나라도 만족하지 못할 경우 false)
예시를 통해 이해하자면
const isBiggerObjInListThan = (list, compareValue) => {
console.log(`isBiggerObjInListThan ${compareValue} : ${list.some((item) => item.value > compareValue)}`);
};
const arr = [
{ name: "a", value: 1 },
{ name: "b", value: 2 },
{ name: "c", value: 3 },
{ name: "d", value: 4 },
{ name: "e", value: 5 },
];
isBiggerObjInListThan(arr, 3);
// 결과값
// isBiggerObjInListThan 3 : true
const isAllObjBiggerInListThan = (list, compareValue) => {
console.log(`isAllObjBiggerThan ${compareValue} : ${list.every((item) => item.value > compareValue)}`);
};
const arr = [
{ name: "a", value: 1 },
{ name: "b", value: 2 },
{ name: "c", value: 3 },
{ name: "d", value: 4 },
{ name: "e", value: 5 },
];
isAllObjBiggerInListThan(arr, 3);
// 결과값
// isAllObjBiggerThan 3 : false
const isAllObjBiggerInListThan = (list, compareValue) => {
console.log(`isAllObjBiggerThan ${compareValue} : ${list.every((item) => item.value > compareValue)}`);
};
const arr = [
{ name: "a", value: 1 },
{ name: "b", value: 2 },
{ name: "c", value: 3 },
{ name: "d", value: 4 },
{ name: "e", value: 5 },
];
isAllObjBiggerInListThan(arr, 0);
// 결과값
//isAllObjBiggerThan 0 : true
포함여부는 보통 includes() 를 쓰는데 찾아보니 includes() 로 가릴 수 있는 자료형은 Boolean, null, undefined, Number, String 정도라고 한다. 문제는 Object 내의 값이거나 Object 값을 서로 비교할 때인데 이럴 때 some 과 every를 사용하는 게 좋다고 한다.
d7k.medium.com/js-includes-vs-some-b3cd546a7bc3
JS .includes() vs .some()
JavaScript array is a powerful data structure in web technologies. Methods such as .map(), .filter(), .includes(),and .reduce() helps a…
d7k.medium.com
some 과 every 를 알기 전에는 미리 flag를 선언하고 for 문으로 돌려서 하나라도 걸릴 때 flag = true (혹은 false); break; 방식으로 쓰거나 filter, find로 뽑아서 Boolean 값을 가렸는데 이제는 some 이나 every를 쓰면 될 것 같다.
'Javascript' 카테고리의 다른 글
[Javascript] string 공백 지우기, Removing whitespace (0) | 2021.09.01 |
---|---|
[Javascript] Array.from(), Array.prototype.reduce() (feat. 프로그래머스 다리를 지나는 트럭) (0) | 2021.04.21 |
[Javascript] Optional Chaining ( ?.) (1) | 2021.04.07 |
[Javascript] Array 중복 제거 - Set 사용 (2) | 2021.03.31 |
[Javascript] if, if~else if~else, for, while, forEach (1) | 2021.03.31 |