["3 - 4 = -3", "5 + 6 = 11"] 이렇게 나오는것을 평가해야한다
for문으로 돌려서 나온는 값은 [0]은 "3 - 4 = -3"처럼 나올것이다.
문자열로 나오니 split('=')을 이용해서 비교해주면 되는데...
"3 - 4"가 문자열이다. 여기서 구글찬스를 통해서 eval을 알게 되었다.
문자로된 자바스크립트 코드를 실행하는 함수인데 절대로 사용하지 말것이라고 적혀있다... 하지만 문제를 풀뿐이니 일단 해보자.
function solution(quiz) {
let result = []
for(let i =0; i < quiz.lenght; i++){
let quest = eval(quiz[i].split('=')[0])
let answer = eval(quiz[i].split('=')[1])
if(a === b){
result.push("O")
} else{
result.push("X")
}
}
return result
}
해결.. 다른 답을 보니 다들 map을 이용했다.
일단 알아보자..
어떻게 사용되는지나 자세한 설명은 인터넷에 많이 있다. -> 나만의 요약
조건을 충족하는 요소를 찾는
let users = [
{id: 1, name: "John"},
{id: 2, name: "Pete"},
{id: 3, name: "Mary"}
];
// 앞쪽 사용자 두 명을 반환합니다.
let someUsers = users.filter(item => item.id < 3);
요소 전체를 대상으로 함수를 호출하고 결과를 배열로 반환
let lengths = ["Bilbo", "Gandalf", "Nazgul"]
let result = lengths.map(item => item.length);
alert(result); // 5,7,6