[Algorithm] 배열 내 특정 수 마지막으로 이동

유자탱자🍋·2021년 3월 18일
0

Algorithm

목록 보기
2/5

문제

해결

const moveZeroes = nums => {

  let countzero = 0;

  for(let i of nums){
   if(i===0){
    countzero++
   }
  }
    
  const filterzero = nums.filter((el) => (el !== 0));
  
  for(i=0; i<countzero; i++){
    filterzero.push(0)
  }
  
  return filterzero;
}

TIL

for..of vs. for..in

  • 현재 요소의 "값"을 얻고 싶다면 for..of
    현재 요소의 "인덱스"를 얻고 싶다면 for..in
let fruits = ["사과", "오렌지", "자두"];
for (let value of fruits) {
  alert( value ); // 사과, 오렌지, 자두
}
let arr = ["사과", "오렌지", "배"];
for (let key in arr) {
  alert( arr[key] ); // 사과, 오렌지, 배
}

filter 메소드

let users = [
  {id: 1, name: "John"},
  {id: 2, name: "Pete"},
  {id: 3, name: "Mary"}
];
// 앞쪽 사용자 두 명을 반환합니다.
let someUsers = users.filter(item => item.id < 3);
alert(someUsers.length); // 2

let vs. const

let countzero = 0;

  for(let i of nums){
   if(i===0){
    countzero++
   }
  }

처음에는 countzero를 const로 선언해주었다. 근데 for 문 안에서 countzero는 변화하는 숫자이기 때문에 let으로 바꿔야 맞다.


[참고_모던 자바스크립트 튜토리얼]

0개의 댓글