Study/script.js

[자바스크립트 배열]filter()

빛장 2019. 12. 26. 15:36
function deletWord(e){
  e.preventDefault();
  const span = e.target;
  const li = span.parentNode;
  wordList.removeChild(li)

  const cleanWord = wordListArr.filter(function(element){
    return element.id !== parseInt(li.id);
  })
  wordListArr = cleanWord;
  saveWord()
}

Todo 리스트를 만들때 리스트 하나하나를 개별적으로 지워야 할때 사용한

filter함수.

 

배열.filter 로 작성하고 뒤에 콜백함수의 인자(element)로 각 배열들이 들어오고

필터는 들어온 배열과 다른 값을 비교하여 true 이면 유지하고 false일경우

그놈을 배열에서 삭제후 새 배열을 반환한다. (parseInt는 뒤의 값을 정수로 바꿔주는 함수이다)

즉 배열안에 그놈이 없는놈이라면 없애버리는것. 

 

const original =  ["a", "a", "b", "a", "b"]

let copy = original.filter((arr)=>{
return(
    "a" === arr
    )
  })

console.log(copy)
// ["a", "a", "a"]