영상
개념
<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
복사