<문제>
detectNetwork 함수를 새로 선언합니다.
이 함수는 카드번호인 cardNumber를 매개변수로 받습니다.
이 함수는 'Diner's Club','American Express'를 return해야 합니다.
이 때 cardNumber는 항상 문자열입니다.
ex) detectNetwork('343456789012345') // 'American Express
'Diner's Club' 카드 번호는 항상 38이나 39로 시작을하고, 14 자리 숫자입니다.
'American Express' 카드 번호는 항상 34 나 37로 시작하고, 15 자리 숫자입니다.(슬라이스로 숫자 비교 후 길이 비교)
(+)위의 문제 말고도 조건이 3개 더 있어 그 조건들에 맞게 코드를 작성했습니다.
detectNetwork(cardNumber) {} 일 때 총 5개의 카드사 중 cardNumber가 어느 카드사의 조건에 맞는지를 확인 후 그 카드사 이름을 출력해주는 함수를 작성하는게 문제입니다.
//문제풀이 //각 카드사의 조건에 해당하는 if문을 사용해 총 4개의 if문 코드를 작성했습니다. /// function detectNetwork(cardNumber) { let n = cardNumber; if(n.length === 14){ //cardNumber.length보다 n.length가 코드 작성시 더 편해 n을 선언해주었습니다. if(n.slice(0, 2) === '38' || '39'){ return "Diner's Club"; } } if(n.length === 15){ if(n.slice(0, 2) === '34' || '37'){ return "American Express"; } } if(n.length === 13|| 16 || 19){ if(n.slice(0, 1) === '4'){ return "Visa"; } } if(n.length === 16){ if(n.slice(0, 2) === '51' || '52' || '53' || '54' || '55'){ return "MasterCard"; } } //조건문이 4개일 때 여기까지 작성 후 작동시키면 정상출력이 되었는데 밑의 if문을 추가하면 정상작동이 안됩니다. 그래서 조건이 5개일 경우 어떻게 해야 문제에서 요구하는 대로 함수 작동이 되게 만들지를 고민 중입니다. if(n.length === 16 || 19){ if(n.slice(0, 4) === '6011' || n.slice(0, 2) === '65' || n.slice(0, 3) === '644' || n.slice(0, 3) === '645' || n.slice(0, 3) === '646' || n.slice(0, 3) === '647' || n.slice(0, 3) === '648' || n.slice(0, 3) === '649') { return "Discover"; } } } //여기까지가 제가 작성해야 할 함수 부분입니다. // // you don't have to worry about this code. keep this code. if (typeof window === "undefined") { module.exports = detectNetwork; }
(여기까지 한 상태입니다)
보라님! 전에 메세지 받고 답장 드려야지 하다가 벌써 시간이 너무 많이 흘러버렸네요.ㅠㅠ 문득문득 생각은 했었는데 정신이 없어 이제야 답장 드리려다 보니 보라님 슬랙 계정을 찾을 수가 없어요 흑흑.ㅠㅠ 카톡도 모르고.. 어찌 연락드려야 할지 고민하다 이렇게 블로그에 답글이라도 남겨봅니다! 제 카톡 아이디는 filmafrica에요! 보시면 연락 주셔요.ㅠㅠ