
μλ°μ€ν¬λ¦½νΈ : κ²μ ν¨κ³Ό : filter()
μλ°μ€ν¬λ¦½νΈμ λ€μν ν¨κ³Όλ€ μ€, ν΄λΉνλ λ¬Έμμ΄μ μ°Ύμ μ μλ κ²μ ν¨κ³Όμ λλ€. μ΄λ²μλ filter() λ©μλλ₯Ό μ¬μ©νμ¬, λ³μ μ ν΄λ¦νλ©΄ κ·Έ κ°μμ ν΄λΉνλ μμ±λ€μ΄ λνλλλ‘ μμ ν΄ λ³΄κ² μ΅λλ€.
1. μμ± μμ±νκΈ°
const cssProperty = [
{ star: 0, name: "accent-color", desc: "νΉμ μμμ μμμ μ§μ ν λ μ¬μ©λ©λλ€." },
{ star: 1, name: "align-content", desc: "μ½ν
μΈ μμ΄ν
μ μνκ΄κ³ μ λ ¬ μνλ₯Ό μ€μ ν©λλ€." },
{ star: 2, name: "align-items", desc: "μ½ν
μΈ μμ΄ν
μ λ΄λΆ μνκ΄κ³ μ λ ¬ μνλ₯Ό μ€μ ν©λλ€." },
{ star: 3, name: "align-self", desc: "κ°λ³μ μΈ μ½ν
μΈ μμ΄ν
μ μ λ ¬ μνλ₯Ό μ€μ ν©λλ€." },
{ star: 4, name: "all", desc: "μμμ μμ±μ μ΄κΈ°ν λλ μμμ μ€μ ν©λλ€." },
{ star: 5, name: "animation", desc: "μ λλ©μ΄μ
κ³Ό κ΄λ ¨λ μμ±μ μΌκ΄μ μΌλ‘ μ€μ ν©λλ€." },
{ star: 0, name: "animation-delay", desc: "μ λλ©μ΄μ
μ§μ° μκ°μ μ€μ ν©λλ€." },
{ star: 1, name: "animation-direction", desc: "μ λλ©μ΄μ
μμ§μ λ°©ν₯μ μ€μ ν©λλ€." },
{ star: 2, name: "animation-duration", desc: "μ λλ©μ΄μ
μμ§μ μκ°μ μ€μ ν©λλ€." },
{ star: 3, name: "animation-fill-mode", desc: "μ λλ©μ΄μ
μ΄ λλ νμ μνλ₯Ό μ€μ ν©λλ€." },
{ star: 4, name: "animation-iteration-count", desc: "μ λλ©μ΄μ
μ λ°λ³΅ νμλ₯Ό μ€μ ν©λλ€." },
{ star: 5, name: "animation-name", desc: "μ λλ©μ΄μ
keyframe μ΄λ¦μ μ€μ ν©λλ€." },
{ star: 0, name: "animation-play-state", desc: "μ λλ©μ΄μ
μ§νμνλ₯Ό μ€μ ν©λλ€." },
{ star: 1, name: "animation-timeline", desc: "x" },
{ star: 2, name: "animation-timing-function", desc: "μ λλ©μ΄μ
μμ§μμ μλλ₯Ό μ€μ ν©λλ€." }
// μλ΅
];
λ¨Όμ , μμ±λ€μ μ€ν¬λ¦½νΈλ‘ μμ±ν΄ μ€λλ€. μ΄λ²μλ λ³μ starκ°μ μΆκ°νμμ΅λλ€. μ€μλλ₯Ό μλ―Έν©λλ€.
2. μ νμ λ§λ€κΈ°
const searchList = document.querySelector(".search__list ul");
const searchClick = document.querySelectorAll(".search__click ul:nth-child(1) li");
const searchClick2 = document.querySelectorAll(".search__click ul:nth-child(2) li");
let count = 0;
μ΄μ μ νμλ₯Ό λ§λ€μ΄ μ€λλ€. κ°κ° μμ±λ€μ μΆλ ₯ν ul, λ³μ 리μ€νΈλ€, countλ κ²μ κ²°κ³Ό μλ₯Ό λνλ λλ€.
3. μμ± μΆλ ₯νκΈ°
function updateList(list) {
listCSS = "";
for (const data of list) {
if (data.star == 0) {
listCSS += `<li>${data.name} : ${data.desc} <em>πππππ</em></li>`;
}
if (data.star == 1) {
listCSS += `<li>${data.name} : ${data.desc} <em>πππππ</em></li>`;
}
if (data.star == 2) {
listCSS += `<li>${data.name} : ${data.desc} <em>πππππ</em></li>`;
}
if (data.star == 3) {
listCSS += `<li>${data.name} : ${data.desc} <em>πππππ</em></li>`;
}
if (data.star == 4) {
listCSS += `<li>${data.name} : ${data.desc} <em>πππππ</em></li>`;
}
if (data.star == 5) {
listCSS += `<li>${data.name} : ${data.desc} <em>πππππ</em></li>`;
}
}
searchList.innerHTML = listCSS;
}
updateList(cssProperty);
μμ±μ μΆλ ₯νκΈ° μν΄ ν¨μλ₯Ό λ§λ€μ΄ μ€λλ€. starκ°μ λ°λΌ λ³μ μ΄λͺ¨μ§λ₯Ό μ½μ ν΄ μ€λλ€. λ³μ μ΄λͺ¨μ§κ° μ½μ λ κ°κ°μ λͺ©λ‘λ€μ listCSS μμ νλμ© μΆκ°λ©λλ€. λͺ¨λ λͺ©λ‘μ΄ μΆκ°λ listCSSλ searchList μμ μ½μ λ©λλ€.
4. click μ΄λ²€νΈ λ§λ€κΈ°
4-1) ν΄λ¦ν λ³μ μ ν΄λΉνλ μμ±λ§ 보μ¬μ£ΌκΈ°
searchClick.forEach((star) => {
star.addEventListener("click", () => {
const target = star.dataset.star;
const filterList = cssProperty.filter((data) => data.star == target);
count = filterList.length;
document.querySelector(".num2").innerHTML = count;
updateList(filterList);
});
});
λ¨Όμ , starμ κ°(0, 1, 2, 3, 4, 5 μ‘΄μ¬)μ κ°μ ΈμμΌ ν©λλ€. target λ³μ μμ λ£μ΄ μ€λλ€.
filterListλ data.starμ κ°μ΄ targetκ³Ό κ°μμ§ νμΈνκ³ , κ°μ κ°μ κ°μ§ λ°μ΄ν°λ§ μΆλ ₯ν΄ μ€λλ€.
μ΄ λ, filterListμ κ°―μλ κ²μ κ²°κ³Όμ μμ κ°μ΅λλ€.
μ€ν¬λ¦½νΈλ₯Ό λͺ¨λ μμ±νλ€λ©΄, filterListμ λ°μ΄ν°λ₯Ό updateListλ‘ μ μ‘ν©λλ€.
4-2) ν΄λ¦ν λ³μ μ΄μμ ν΄λΉνλ μμ±λ§ 보μ¬μ£ΌκΈ°
searchClick2.forEach((star) => {
star.addEventListener("click", () => {
const target = star.dataset.star;
const filterList = cssProperty.filter((data) => data.star >= target);
count = filterList.length;
document.querySelector(".num2").innerHTML = count;
updateList(filterList);
});
});
λ³μ 1κ° μ΄μ, λ³μ 2κ° μ΄μ λ± ν΄λ¦ν λ³μ κ°―μ μ΄μμ ν΄λΉνλ μμ±λ§ 보μ¬μ€ μλ μμ΅λλ€.
μμ λμΌνμ§λ§, filter λ©μλμμ μ°μ°μλ₯Ό >=λ‘ λ°κΎΈμ΄λ§ μ£Όλ©΄ λ©λλ€.
5. μ 체 μμ± μ μΆλ ₯νκΈ°
document.querySelector(".num").innerHTML = cssProperty.length;
λ§μ§λ§μΌλ‘, μ 체 μμ± μλ₯Ό μΆλ ₯ν΄ μ€λλ€.
κ²°κ³Ό
?? μγ γ ;;;;; νμ μ»΄ν¨ν°λ‘λ κ·μ¬μ λ λ¬λμ΄ μ λ²λ κ°μ LG λ ΈνΈλΆμμλ λλκ°μ€λ‘ 보μ΄λ€μ... μ¬λ¬λΆλ€μ μ΄λ»κ² 보μ΄μλμ...

'Javascript Effect' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μλ°μ€ν¬λ¦½νΈ : κ²μ ν¨κ³Ό : sort(), reverse() (0) | 2022.10.18 |
---|---|
μλ°μ€ν¬λ¦½νΈ ν¨λ΄λμ€ ν¨κ³Ό : λ¦¬λΉ ν¨κ³Ό (4) | 2022.10.09 |
μλ°μ€ν¬λ¦½νΈ ν¨λ΄λμ€ ν¨κ³Ό : ν μ€νΈ ν¨κ³Ό (2) | 2022.09.29 |
μλ°μ€ν¬λ¦½νΈ λ§μ°μ€ ν¨κ³Ό : ν μ€νΈ ν¨κ³Ό (5) | 2022.09.29 |
μλ°μ€ν¬λ¦½νΈ κ²μ ν¨κ³Ό : find() (5) | 2022.09.28 |
λκΈ