박철순
Math.max() 본문
Math.max()는 입력값으로 받은 0개 이상의 숫자 중 가장 큰 숫자를 반환합니다.
아래 코드는 Math.max()를 이용해 유저의 성향을 파악하는 기능을 만들었습니다.
const array = Array(12).fill(0); // 0이 12개가 들어간 배열을 생성
const count = 0;
let id;
let target;
const clickEvent = (e) => {
id = e.target.id;
target = foodGameExample[count].answer[id].type;
//선택한 대상의 타입값을 변수에 할당 (ex : [0,2,3,1])
if (count === 6) {
const result = array.indexOf(Math.max(...array));
// array의 값을 스프레드 연산자를 통해 배열을 쪼갠 뒤 가장 큰 수의 인덱스 값을 가져옴
return result;
} else {
count += 1;
}
for (let i = 0; i < target.length; i++) {
array[target[i]] += 1;
} // 0이 12개 들어간 배열에 target[i]에 맞는 인덱스값의 + 1을 해줌
};
/* foodGameExampe의 데이터 형태는 이런식으로 생겼습니다.
const foodGameExampe = [
{
question: '질문',
answer: [
{ value: 'a. 대답1', type: [2, 0, 4, 5] },
{ value: 'b. 대답2', type: [1, 2, 3] },
{ value: 'c. 대답3', type: [5, 3, 1] },
{ value: 'd. 대답4', type: [4, 0] },
],
},
{
question: '질문',
answer: [
{ value: 'a. 대답1', type: [2, 0, 4, 5] },
{ value: 'b. 대답2', type: [1, 2, 3] },
{ value: 'c. 대답3', type: [5, 3, 1] },
{ value: 'd. 대답4', type: [4, 0] },
],
},
];
*/
'Javascript' 카테고리의 다른 글
Math.pow(), Math.sqrt() (0) | 2022.04.09 |
---|---|
Javascript Prototype (0) | 2022.04.06 |
Javascript 비동기란? (0) | 2022.04.06 |
Javascript Event (0) | 2022.04.06 |