pointArray라는 배열을 다시 만들고
for문을 세번 반복하고
다시 sort를 해서 결과를 반환한다.
...
여러 함수가 있으나 최소한으로 사용하고
직관적으로 만들기 위해 이렇게 해봤다.
(1차원적)
알고리즘을 더 간단히 만들 수 있다.
pointArray 간단히 만들어주기
pointArray부분을 복사해서
data.js위에 붙여준다.
제일 먼저 위에 name부분을
그리고 command+d를 누르면
같은 부분이 선택되고 계속 누르면서 마지막 부분까지 선택해준다.
그리고 백스페이스를 누르면 지워진다.
처음부터 문자가 아닌 숫자로 정의해서 코드 단순하게 바꿔주기
type cow, tiger...가 아닌
각각의 결과를 처음부터 숫자로 지정한다.
우측에 정리한 것 처럼
mouse 는 0 이런식으로!
각각의 동물이름으로 되어있던 type을 모두 숫자로 바꿔주었다.
const select = [0,0,0,0,0,0,0,0,0,0,0,0];
select 배열을 공란으로 두었다가
하나씩 생성한 뒤 value에 더해주는 것이 아닌
처음부터 공간을 만들어준뒤,
해당 위치에 숫자를 더하는 방식으로 해본다.
예를 들면 위 답변을 고르는 경우
1,2,4,9번째에 1씩 더해준다.
var target = qnaList[qIdx].a[idx].type;
for(let j = 0; j < target.length; j++){
select[type[i]] += 1;
}
0부터 type 배열의 끝까지 반복문을 반복하면서
select 함수의 각 배열 위치 값을 1씩 더해준다.
위 영역을 다 삭제해도 된다.
calResult() 함수 안의 위 내용도 삭제하고
다시 작성해준다.
function calResult(){
var result = select.indexOf(Math.max(...select));
return result;
}
js 내부함수를 이용해 최댓값을 반환한다.
'MBTI 테스트 프로젝트' 카테고리의 다른 글
[MBTI 테스트(13)] 카카오 API 활용해서 카카오톡으로 공유하기 버튼 만들기 (0) | 2023.05.06 |
---|---|
[MBTI 테스트(12)] Meta 태그 수정하기 + netlify로 배포하기 + netlify와 깃허브github 연동하기 (0) | 2023.05.06 |
[MBTI 테스트(10)] 결과 계산하기 (배열, sort, for문 안의 for문으로 array 안의 array 하나씩 호출하기) (0) | 2023.04.16 |
[MBTI 테스트(9)] Result 구현하기 (0) | 2023.04.15 |
[MBTI 테스트(8)] 진행상태바 구현하기 (colorzilla에서 다양한 색깔 가져오기) (0) | 2023.04.15 |