본문 바로가기
Typescript

boolean 배열에서 truthy 값이 하나라도 있는지 확인하는 법 (using reduce)

by shinbian11 2022. 11. 6.

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