ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JS연습(유저정보테이블 만들기2)
    JS 2022. 1. 9. 20:05
    5.mockData에서 100번째 유저에게 경품당첨을 한다고 가정. 100번째 유저의 이름을 console.log로!
    6.100번째, 200번째, 300번째, 그리고 마지막 유저에게 경품을 준다고 가정했을 때 그 사람들의 이름을 배열로 추출
    를 계속 해보겠다
     

    5.mockData에서 100번째 유저에게 경품당첨을 한다고 가정. 100번째 유저의 이름을 console.log로!

    ==>if문 이용하기

    if (item.id === 100) {
    	console.log(`${item.name}! 100번째 사용자입니다!`)
    }

    처음에 인덱스라 생각해서 99를 넣었는데 id가 99인 99번째 유저가 나와서 100으로 수정했다.

    인덱스라 생각하면

    mockData.forEach((item,idx) => {
              
              .....
              
              if (idx === 99) {
                console.log(`${item.name}! 100번째 사용자입니다!`)
              }
              
              ....

    다음과 같이 forEach에서 idx를 받아와서 idx가 99인 user를 받아와야한다!

     

     

    6.100번째, 200번째, 300번째, 그리고 마지막 유저에게 경품을 준다고 가정했을 때 그 사람들의 이름을 배열로 추출

    ==>if문으로 , idx를 이용하려 한다.

    let specialUser = []
    	if (idx === 99 || idx === 199 || idx === 299 || idx === mockData.length - 1) {
        	specialUser.push(item.name)
            }
    console.log(`이벤트 당첨자는 ${specialUser}입니다!`)

    이렇게 작성했더니

    다음과 같은 문제 발생!

    나는 당첨자 배열을 콘솔에 나오게 하고 싶었는데

    forEach문이 돌면서 누적되는게 아니고 if문에 해당하는 경우만 나오게 되었다..

     

    따라서 specilaUser 배열을 forEach문 밖으로 보내고 다시 돌렸다!

    function init() {
            const userTbody = document.getElementById("userTbody")
            let specialUser = []
            
            mockData.forEach((item,idx) => {
              
              ...
              
              if (idx === 99 || idx === 199 || idx === 299 || idx === mockData.length - 1) {
                specialUser.push(item.name)
              }
              console.log(`이벤트 당첨자는 ${specialUser}입니다!`)
              
              ...

    결과는!

    이렇게 나온다!

Designed by Tistory.