무작위의 배열을 만들고 그 안에 있는 요소들을 짝수와 홀수로 두개의 배열로 나눠보려고 합니다.
이론적으로 생각을 해보면은 첫번째로 해야 할 것은 바로 프로그램에서 각 수(number)가 짝수(even) 또는 홀수(odd)인지 확인시키 함수를 아래 조건문을 이용해 진실인지 거짓인지(boolean) 호출하게 하면 됩니다..
Program psuedoCode:
a라는 수를 2로 나누었을 때의 그 나머지를 b라고 부른다.
b가 0 또는 거짓(false) 이면 a는 짝수이다.
그렇지 않을 경우(b가 0이 아닐경우)에는 a는 홀수이다.
JavaScript Functional Code
let a = 24; // 짝수 let b = 17; // 홀수 function checkEvenNumber(num) { letremainder
= num % 2; // 나머지 if(remainder
=== 0) { returntrue
; } returnfalse
; } // now test a, b; let testA = checkEvenNumber(a); console.log(testA); // returnstrue
let testB = checkEvenNumber(b); console.log(textB); // returnsfalse
이제 어떠한 수를 넣어도 우리는 그 수가 짝수 인지 또는 홀수 인지 이 함수가 반환하는 값으 통해 쉽게 알 수 있습니다.
그렇다면 요소(element)들이 수(number) 무작위의 배열(array)을 만들어서 홀수배열과 짝수 배열로 만드는 프로그램을 만들어 보겠습니다.
Applicaiton Code
function checkEvenNumber(num) { letremainder
= num % 2; if(remainder
=== 0) { returntrue
; } returnfalse
; } constmyArr
= [1, 2, 3, 4, 5]; let oddArr = []; let evenArr = [];myArr
.forEach(element => { if(checkEvenNumber(element)) { evenArr.push(element); } else { oddArr.push(element); } }) // print the program result in console console.log(evenArr); // [2,4] console.log(oddArr); // [1,3,5]
왜 '짝수'인지 체크하는 논리를 선호하나요?
숫자 1은 2로 나누었을때 나머지가 1이 아니기때문에 경우의 조건문 하나가 더 필요하기 때문입니다. 그래서 이 프로그램을 응용할 때는 짝수인지를 체크하는 출력함수를 갖는것이이 더 효율적이라고 생각합니다.
written by @han-choi
date written 5/20/2021
Personal website
Github
Linkedin