티스토리 뷰
const cssProperty = [
{num:"1", name:"all", desc:"all 속성은 CSS 속성을 재설정하는데 사용할 수 있는 약식 속성입니다."},
{num:"2", name:"animation", desc:"animation 속성은 애니메이션 속성을 설정하기 위한 약식 속성입니다."},
{num:"3", name:"animation-delay", desc:"animation-delay 속성은 애니메이션이 시작되는 시간을 설정합니다."},
//중략...
]
const searchBox = document.querySelectorAll(".search span"); //검색버튼(#search_box)을 변수(searchBox)에 저장
const cssList = document.querySelector(".list ul"); //속성의 리스트를 변수(cssList)에 저장
const cssCount = document.querySelector(".count"); //전체 속성 갯수(.count)를 변수(cssCount)에 저장
// 데이터 출력, 갯수 출력
const upDataList = function(){
let listHTML = '';
let countHTML = '';
//for문을 이용해서 cssProperty name값을 출력하시요!
// for(let data=0; data<cssProperty.length; data++){
// listHTML += `<li>${cssProperty[data].name}</li>`;
// }
//forEach문을 이용해서 cssProperty name값을 출력하시요!
// cssProperty.forEach(data => {
// listHTML +=`<li>${data.name}</li>`;
// })
//for of문을 이용해서 cssProperty name값을 출력하시요!
// for(let data of cssProperty) {
// listHTML += `<li>${data.name}</li>`;
// }
cssProperty.forEach((data,index) => {
listHTML +=`<li>${data.num}. ${data.name} : ${data.desc}</li>`;
countHTML = index + 1
})
cssList.innerHTML = listHTML
cssCount.innerHTML = countHTML;
}
upDataList();
//반대 정령
function reverse(){
cssProperty.reverse();
upDataList();
}
//오름차순 정렬
function sortAscending(){
cssProperty.sort((a,b) => {
return a.num - b.num;
});
upDataList();
}
//내림차순 정렬
function sortDescending(){
cssProperty.sort((a,b) => {
return b.num - a.num;
});
upDataList();
}
//알페벳 정렬(a~z)
function sortAlphabet() {
cssProperty.sort((a,b) => {
let x = a.name;
let y = b.name;
return x.localeCompare(y);
})
upDataList();
}
//알페벳 정렬(z~a)
function sortAlphabetZ() {
cssProperty.sort((a,b) => {
let x = a.name;
let y = b.name;
return y.localeCompare(x);
})
upDataList();
}
//반대로 버튼 클릭시
document.querySelector(".btn1").addEventListener("click", () => {
reverse();
});
//오름차순 버튼 클릭시
document.querySelector(".btn2").addEventListener("click", () => {
sortAscending();
});
//내림차순 버튼 클릭시
document.querySelector(".btn3").addEventListener("click", () => {
sortDescending();
});
//알파벳순(a~z)
document.querySelector(".btn4").addEventListener("click", () => {
sortAlphabet();
});
//알파벳순(z~a)
document.querySelector(".btn5").addEventListener("click", () => {
sortAlphabetZ();
});
'Script Sample > Search Effect' 카테고리의 다른 글
Search Effect05 - filter( ) (0) | 2022.02.11 |
---|---|
Search Effect04 - find( ) (0) | 2022.02.08 |
Search Effect03 - charAt( ) (0) | 2022.02.08 |
Search Effect02 - includes( ) (0) | 2022.02.07 |
Search Effect01 - indexOf( ) (0) | 2022.02.07 |
댓글
© 2018 webstoryboy