일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- appendChild
- Openlayers
- createtextnode
- const
- Let
- htmlFor
- 학습법 #집중력
- createElement
- input
- VAR
- boolean
- FOR
- Append
- Today
- Total
Atomic Habits
ch3-62 : 조건 만족하는 배열 요소 추출하여 새 배열 만들기 본문
[index.html]
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>샘플</title>
<link rel="stylesheet" href="../../common/css/style.css"/>
<link rel="stylesheet" href="style.css"/>
<script src="main.js" defer></script>
</head>
<body class="chapter-3">
<main>
<div class="button-wrapper">
<button class="button" data-age="20">20세 이상</button>
<button class="button" data-age="30">30세 이상</button>
<button class="button" data-age="40">40세 이상</button>
</div>
<ul class="user_list">
</ul>
</main>
</body>
</html>
[main.js]
// 데이터
const userDataList = [
{ name: '곰', age: 18 },
{ name: '여우', age: 27 },
{ name: '사자', age: 32 },
{ name: '얼룩말', age: 41 },
{ name: '기린', age: 56 }
];
// .button 요소의 이벤트 설정
document.querySelectorAll('.button').forEach((element) => {
element.addEventListener('click', (event) => {
onClickButton(event);
});
});
/**
* 버튼 클릭 시 처리
*/
function onClickButton(event) {
// 클릭한 버튼의 요소
const button = event.target;
// 버튼 요소에서 data-age가져오기
const targetAge = button.dataset.age;
// targetAge 이상의 유저 배열 생성
const filterdList = userDataList.filter((data) => data.age >= targetAge);
// 배열을 출력
updateList(filterdList);
}
/**
* 유저 배열을 출력
*/
function updateList(filterdList) {
let listHtml = '';
for (const data of filterdList) {
listHtml += `<li>${data.name} : ${data.age}세</li>`;
}
document.querySelector('.user_list').innerHTML = listHtml;
}
'IT > etc' 카테고리의 다른 글
score (0) | 2022.03.23 |
---|---|
각종 단축키 모음 (VSCode, Eclipse, ... ) (0) | 2021.11.15 |
[Plugin] VScode유틸리티/플러그인 (0) | 2021.11.14 |
[SQL] PNU-XY 테이블 문제 (0) | 2021.11.07 |
[SQL] 한글 초성 추출 (0) | 2021.11.06 |