객체 배열에서 HTML 테이블 생성
객체 배열이 주어졌다고 가정해 봅시다. 예를 들어, 다음과 같은 사용자 배열이 있습니다:
javascriptlet users = [
{
name: 'name1',
surname: 'surname1',
patronymic: 'patronymic1'
},
{
name: 'name2',
surname: 'surname2',
patronymic: 'patronymic2'
},
{
name: 'name3',
surname: 'surname3',
patronymic: 'patronymic3'
},
];
이 배열에서 HTML 테이블을 만들어 봅시다. 각 행에 개별 사용자의 데이터를 기록하겠습니다.
이런 데이터 구조에서는 일반적으로 배열을 한 번 순회하면서 각 테이블 셀을 수동으로 생성합니다. 다음과 같이 말이죠:
html<table id="table"></table>javascriptlet table = document.getElementById('table');
for (let user of users) {
let tr = document.createElement('tr');
let td1 = document.createElement('td');
td1.textContent = user.name;
tr.appendChild(td1);
let td2 = document.createElement('td');
td2.textContent = user.surname;
tr.appendChild(td2);
let td3 = document.createElement('td');
td3.textContent = user.patronymic;
tr.appendChild(td3);
table.appendChild(tr);
}
이런 접근 방식은 큰 유연성을 제공합니다. 테이블 셀에 데이터를 배치하는 순서를 직접 조정할 수 있습니다(예를 들어, 이름과 성의 위치를 바꿀 수 있습니다).
또한 원한다면 특정 셀에 이벤트를 추가할 수 있습니다. 예를 들어, 성(last name)이 있는 셀을 클릭했을 때 어떤 동작을 하게 하는 등입니다.
Задание 1
다음은 직원 배열입니다:
javascriptlet employees = [
{name: 'employee1', age: 30, salary: 400},
{name: 'employee2', age: 31, salary: 500},
{name: 'employee3', age: 32, salary: 600},
];
이 배열의 요소를 HTML 테이블 형태로 출력하세요.
Задание 2
이전 문제를 수정하여 나이가 적힌 어떤 셀을 클릭해도
해당 셀의 내용이 1만큼 증가하도록 하세요.
Задание 3
이전 문제를 수정하여 급여가 적힌 어떤 셀을 클릭해도
해당 셀의 내용이 10%만큼 증가하도록 하세요.