๐Ÿ“”
web_study
  • JavaScript
  • ์—˜๋ฆฌ_์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ
      • ํด๋ž˜์Šค ์˜ˆ์ œ์™€ ์ฝœ๋ฐฑํ•จ์ˆ˜
      • ์—ฐ์‚ฐ์ž boolean
      • ํ•จ์ˆ˜ ์ •์˜, ํ˜ธ์ถœ ๊ทธ๋ฆฌ๊ณ  ์ฝœ๋ฐฑ
      • ๋ณ€์ˆ˜ํƒ€์ž…๊ณผ object ์ฐจ์ด์ 
    • JavaScript async ์™€ await
    • JavaScript Promise
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ callback
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ json
    • ์œ ์šฉํ•œ 10๊ฐ€์ง€ ๋ฐฐ์—ด ํ•จ์ˆ˜๋“ค
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด(array)
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ object
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ (class vs object) ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—ฐ์‚ฐ.๋ฐ˜๋ณต๋ฌธ
    • ๋ฐ์ดํ„ฐํƒ€์ž…, data types, let vs var, hoisting
    • script async ์™€ defer์˜ ์ฐจ์ด์  ์ฝ˜์†” ์ถœ๋ ฅ
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—ญ์‚ฌ
  • ์ƒํ™œ์ฝ”๋”ฉ
    • ์žฌ๊ท€ํ•จ์ˆ˜
    • ์ •๊ทœ ํ‘œํ˜„์‹
    • ๊ฐ์ฒด์ง€ํ–ฅ
      • ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      • ์ƒ์„ฑ์ž์™€ new
      • ์ „์—ญ๊ฐ์ฒด
      • this
      • ์ƒ์†
      • prototype
      • ํ‘œ์ค€ ๋‚ด์žฅ ๊ฐ์ฒด์˜ ํ™•์žฅ
      • object
      • ๋ฐ์ดํ„ฐ ํƒ€์ž…
      • ์ฐธ์กฐ
    • ํ•จ์ˆ˜์ง€ํ–ฅ
      • ์œ ํšจ๋ฒ”์œ„
      • ๊ฐ’์œผ๋กœ์„œ์˜ ํ•จ์ˆ˜์™€ ์ฝœ๋ฐฑ
      • ํด๋กœ์ €
      • arguments
      • ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ
    • UI API, ๋ฌธ์„œ
    • ๋ชจ๋“ˆ
    • ๊ฐ์ฒด
    • ๋ฐฐ์—ด
    • ํ•จ์ˆ˜
    • ๋ฐ˜๋ณต๋ฌธ
    • ์กฐ๊ฑด๋ฌธ
    • ์ˆซ์ž์™€๋ฌธ์ž
    • ๋ณ€์ˆ˜
    • ๋น„๊ต
  • ๋…ธ๋งˆ๋“œ ์ฝ”๋”
    • Getting the Weather part One Geolocation
    • Image Background
    • TO DO List
    • Saving the User Name
    • Clock part One
    • ์กฐ๊ฑด๋ฌธ ( if , else, and, or)
    • evnet handlers
    • Function
    • Objects
    • Arrays
    • Variable(๋ณ€์ˆ˜!)
    • Javascript
  • javascript30
    • Dram Kit
    • clock
    • Css Javascript
    • Array Cardio
    • flex panels
    • type ahead
    • Canvas Draw
    • Speech Synthesis
    • Whack A Mole
  • web standard
    • script ๋ถ€๋ถ„
    • form๋ถ€๋ถ„
    • ์›น์ ‘๊ทผ์„ฑ
    • <meta>
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ_์ด๋ก 
    • ๊ธฐ๋ณธ์ง€์‹(JAVASCRIPT)
    • ๊ธฐ๋ณธ์ง€์‹(CSS)
    • ๊ธฐ๋ณธ์ง€์‹(HTML)
    • ๊ธฐ๋ณธ์ง€์‹(HTTP)
    • Dom
    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ, ํ”Œ๋กœ๊ทธ์ธ
Powered by GitBook
On this page
  • TO DO List ๋งŒ๋“ค๊ธฐ
  • filter
  • forEach

Was this helpful?

  1. ๋…ธ๋งˆ๋“œ ์ฝ”๋”

TO DO List

TO DO List ๋งŒ๋“ค๊ธฐ

<div>
    <form class="js-to-do to-do">
        <input class="js-add-to-do to-do__add-to-do" placeholder="Write a To Do here" type="text" />
    </form>
    <ul class="js-list list"></ul>
</div>
const form = document.querySelector(".js-to-do"),
  input = document.querySelector(".js-add-to-do"),
  list = document.querySelector(".js-list");

let toDos = [];

function persistToDos() {
  const stringToDo = JSON.stringify(toDos);
  localStorage.setItem("toDos", stringToDo);
}

function saveToDo(text) {
  const toDoObject = {
    id: toDos.length + 1,
    value: text
  };
  toDos.push(toDoObject);
  persistToDos();
}

function handleDelete(event) {
  const target = event.target;
  const li = target.parentElement;
  const ul = li.parentElement;
  const toDoId = li.id;
  ul.removeChild(li);
  toDos = toDos.filter(function(toDo) { // filter ๋ชจ๋“  ์•„์ดํ…œ์„ ํ†ตํ•ด ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ture์ธ ์•„์ดํ…œ๋งŒ ๊ฐ€์ง€๊ณ  ์ƒˆ๋กœ์šด array๋ฅผ ๋งŒ๋“ฌ
    return toDo.id !== parseInt(toDoId); // ๋ชจ๋“  toDos๊ฐ€ li ์˜ id ์™€ ๊ฐ™์ง€ ์•Š์„๋•Œ 
  });
  persistToDos();
}

function addToDo(text) {
  const toDo = document.createElement("li");
  toDo.className = "toDo";
  toDo.id = toDos.length + 1;
  const deleteBtn = document.createElement("span");
  deleteBtn.innerHTML = "โŒ";
  deleteBtn.className = "toDo__button";
  deleteBtn.addEventListener("click", handleDelete);
  const label = document.createElement("label");
  label.innerHTML = text;
  toDo.appendChild(deleteBtn);
  toDo.appendChild(label);
  list.appendChild(toDo);
  saveToDo(text);
}

function onSubmit(event) {
  event.preventDefault();
  const value = input.value;
  input.value = "";
  addToDo(value);
}

function loadToDos() {
  const loadedToDos = localStorage.getItem("toDos");
  if (loadedToDos !== null) {
    const parsedToDos = JSON.parse(loadedToDos);
    parsedToDos.forEach(function(toDo) { // list์— ์žˆ๋Š” ๋ชจ๋“  ltem์„ ์œ„ํ•œ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œํ‚ด 
      addToDo(toDo.value);
    });
  }
  return;
}

function init() {
  loadToDos();
}

form.addEventListener("submit", onSubmit);

init();

filter

๊ธฐ๋ณธ์„ ์–ธ ๋ฐฉ์‹

let newArray = arr.filter(callbackFunction(element, index, array), thisArg);

์˜ˆ์ œ

const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

const result = words.filter(word => word.length > 6); // ๋‹จ์–ด๊ฐ€ 6๊ฐœ ์ด์ƒ์ธ element๋ฅผ ์ฐพ์•„์คŒ

console.log(result);
// expected output: Array ["exuberant", "destruction", "present"]
function isBigEnough(value) {
  return value >= 10; // value ๊ฐ’์ด 10๋ณด๋‹ค ํฐ๊ฒƒ 
}

let filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered ๋Š” [12, 130, 44]


// ์ •์ˆ˜ ๋ฐฐ์—ด์—์„œ 5์˜ ๋ฐฐ์ˆ˜์ธ ์ •์ˆ˜๋งŒ ๋ชจ์œผ๊ธฐ
var arr = [4, 15, 377, 395, 400, 1024, 3000];
var arr2 = arr.filter(function (n) {
    return n % 5 == 0; // 5๋กœ ๋‚˜๋ˆด์„๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0 ์ด๋˜๋Š”๊ฐ’ 
});
console.log(arr2); // [15, 395, 400, 3000]

forEach

๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰

๊ธฐ๋ณธ์„ ์–ธ ๋ฐฉ์‹

arr.forEach(callback(item, index, array)

์˜ˆ์ œ

const arr = [1,3,5,7,9]; 
// e๋Š” element i๋Š” index์˜ i,a๋Š” array
// ์ฝœ๋ฐฑํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„์€ ์ˆ˜์ •ํ•ด๋„ ๋˜์ง€๋งŒ ์ˆœ์„œ๋Š” ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
 arr.forEach(function(e, i, a) { 
 console.log('์ธ๋ฑ์Šค '+i+ ': ' +e+', ๋ฐฐ์—ด์˜ ์ „์ฒด๋Š”: '+a);
 })


//๊ฒฐ๊ณผ๊ฐ’ 
์ธ๋ฑ์Šค 0: 1, ๋ฐฐ์—ด์˜ ์ „์ฒด๋Š”: 1,3,5,7,9 
์ธ๋ฑ์Šค 1: 3, ๋ฐฐ์—ด์˜ ์ „์ฒด๋Š”: 1,3,5,7,9 
์ธ๋ฑ์Šค 2: 5, ๋ฐฐ์—ด์˜ ์ „์ฒด๋Š”: 1,3,5,7,9 
์ธ๋ฑ์Šค 3: 7, ๋ฐฐ์—ด์˜ ์ „์ฒด๋Š”: 1,3,5,7,9 
์ธ๋ฑ์Šค 4: 9, ๋ฐฐ์—ด์˜ ์ „์ฒด๋Š”: 1,3,5,7,9


const arr = [1,3,5,7,9]; 
arr.forEach((e, i, a)=>{
 if (e === 5) return; // return true, false ๋“  ๊ทธ๋ƒฅ continue 
console.log('์ธ๋ฑ์Šค '+i+ ': ' +e+', ๋ฐฐ์—ด์˜ ์ „์ฒด๋Š”: '+a); 
})

//๊ฒฐ๊ณผ๊ฐ’ 
// ์ธ๋ฑ์Šค 5 ํ•ด๋‹นํ•˜๋Š” ๋‚ด์šฉ ๋นผ๊ณ  ๋ชจ๋‘ ์ถœ๋ ฅ  

PreviousImage BackgroundNextSaving the User Name

Last updated 3 years ago

Was this helpful?

๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ์š”์†Œ๋งˆ๋‹ค ์กฐ๊ฑด ํ™•์ธ ํ›„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์›์†Œ๋“ค๋กœ ๊ตฌ์„ฑ๋œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋ฆฌํ„ด

๐Ÿ‘‰