Search

클래스1_개념01_json복습

대분류
STEP10 함수/클래스
문제 난이도
필수
소분류
클래스1_개념

영상

개념

<script> /* [문제1] data1과 data2를 파싱하여 아래와 같이 jsonList에 json형태로 저장하시오. data1은 json의 key 이다. data2는 json의 value 이다. [정답1] jsonList = [ {"num" : 1001, "name" : "김철수", "kor" : 100, "math" : 20}, {"num" : 1002, "name" : "이영수", "kor" : 90, "math" : 40}, {"num" : 1003, "name" : "오민수", "kor" : 20, "math" : 50} ] [문제2] 1등 학생의 이름을 출력하시오. [정답2] 이영수 [문제3] 새로운 학생의 정보를 추가하시오. [정답3] 1001 김철수 100 20 1002 이영수 90 40 1003 오민수 20 50 1004 신민아 90 89 [문제4] 평균 60점 이하의 학생 정보를 삭제하시오. [정답4] 1002 이영수 90 40 1004 신민아 90 89 */ function parseData(data1, data2) { let jsonList = []; let keys = data1.split("/"); let token = data2.split(","); for(let i=0; i<token.length; i++) { let temp = token[i].split("/"); let unit = {}; for(let j=0; j<temp.length; j++) { unit[keys[j]] = temp[j]; } // document.write(JSON.stringify(unit) + "<br>"); jsonList.push(unit); } return jsonList; } function printJason(data) { for(let i=0; i<data.length; i++) { let keys = Object.keys(data[i]); for(let j=0; j<keys.length; j++) { document.write(data[i][keys[j]] + " "); } document.write("<br>"); } document.write("<br>"); } function printFirstPlace(data) { let maxScore = 0; let maxIndex = 0; for(let i=0; i<data.length; i++) { let total = Number(data[i]["kor"]) + Number(data[i]["math"]); if(maxScore < total) { maxScore = total; maxIndex = i; } } document.write("1등 = " + data[maxIndex]["name"] + "<br>"); } function addNewInfo(data1, add, jsonList) { let keys = data1.split("/"); let temp = {}; let token = add.split("/"); for(let i=0; i<token.length; i++) { temp[keys[i]] = token[i]; } jsonList.push(temp); } function deleteData(jsonList) { for(let i=0; i<jsonList.length; i++) { let total = Number(jsonList[i]["kor"]) + Number(jsonList[i]["math"]); let avg = total / 2; if(avg <= 60) { jsonList.splice(i, 1); i -= 1; } } } let data1 = "num/name/kor/math"; let data2 = "1001/김철수/100/20,1002/이영수/90/40,1003/오민수/20/50"; // 새로운 학생정보 let add = "1004/신민아/90/89"; // 문제1) let jsonList = parseData(data1, data2); printJason(jsonList); // 문제2) printFirstPlace(jsonList); // 문제3) addNewInfo(data1, add, jsonList); printJason(jsonList); // 문제4) deleteData(jsonList); printJason(jsonList); </script>
Java
복사