forEach, map, filter를 이용할 수도 있지만, reduce를 이용하여 구할 수도 있습니다.
// true 값이 존재
const test1 = [ false, false, false, false, false, true, false, false, false ];
// true 값이 존재. {}는 truthy 값
const test2 = [ false, false, false, false, false, {}, false, false, false ];
// true 값이 존재. []는 truthy 값
const test3 = [ false, false, false, false, false, [], false, false, false ];
// ''는 falsy 값. true 값은 없음
const test4 = [ false, false, false, false, false, '', false, false, false ];
// 모두 false. true 값은 없음
const test5 = [ false, false, false, false, false, false, false, false, false ];
const hasTrueValue1 = test1.reduce((prev, next) => !!prev || !!next, false);
const hasTrueValue2 = test2.reduce((prev, next) => !!prev || !!next, false);
const hasTrueValue3 = test3.reduce((prev, next) => !!prev || !!next, false);
const hasTrueValue4 = test4.reduce((prev, next) => !!prev || !!next, false);
const hasTrueValue5 = test5.reduce((prev, next) => !!prev || !!next, false);
console.log(hasTrueValue1); // true
console.log(hasTrueValue2); // true
console.log(hasTrueValue3); // true
console.log(hasTrueValue4); // false
console.log(hasTrueValue5); // false
'Typescript' 카테고리의 다른 글
OR 논리 연산자 (||)를 이용하여 심플한 코드 짜기 (0) | 2022.12.10 |
---|---|
Map 자료구조를 사용하는 방법 (0) | 2022.11.05 |
느낌표 두 개(!!)의 의미는? (논리 연산자 NOT) (0) | 2022.11.01 |
코드 컨벤션과 특정 라인에 대한 eslint 규칙 끄기 (0) | 2022.10.19 |
[Error 해결] No overload matches this call. (0) | 2022.10.07 |