2017-12-04 14 views
0

에 허위 사실 부울/변경하고, 나는이 luhn 알고리즘이 방법 :나는 현재 신용 카드의 유효성을 검사 관련 프로젝트에서 일하고 있어요 문자열

export default function luhn(card: string): boolean { 
return (
card.split('').reduceRight(function(prev: any, curr: any, idx) { 
    prev = parseInt(prev, 10) 
    if ((idx + 1) % 2 !== 0) { 
    curr = (curr * 2) 
     .toString() 
     .split('') 
     .reduce(function(p, c) { 
     return (parseInt(p, 10) + parseInt(c, 10)) as any 
     }) 
    } 
    return prev + parseInt(curr, 10) 
}, 0) % 
    10 === 
0 
) 
} 

공지 사항이있는 부울?

MasterCard: 5105105105105100 (true) 
MasterCard: 5105105105105106 (false) 

내가 거짓/진실이 원하는 :

import { createReadStream } from 'fs' 
import { createInterface } from 'readline' 
import { getCompanyName } from './cardType' 
import cardValidator from './cardValidator' 

const lineReader = createInterface({ 
input: createReadStream('data/input.txt') 
}) 

lineReader.on('line', (creditCard: string) => { 
    var company = `${getCompanyName(creditCard)}: ${creditCard} (${cardValidator(
creditCard 
)})` 

console.log(company) 
}) 

그것은 현재이 같은 콘솔 뭔가 출력 :이처럼 보이는 내 index.ts위한 모듈로 이것을 사용하고 있습니다 유효/무효 나는 약간 (w3)을 들여다 보았지만, 진실과 거짓 모두에 대해 변수를 선언해야하므로 내 알고리즘에 어떤 것을 통합하는 법을 모른다. 어떤 제안/답변이 많은 당신은 단순히 출력 문자열에서 직접 원하는 문자열을 포함하는 ternary operator을 사용할 수 있습니다

+4

뭔가를''$ {getCompanyName (크레딧)} : $ { creditCard} ($ {cardValidator (creditCard)? "valid": "invalid"})''나중에 할 것입니다 – Hamms

+0

감사합니다. –

답변

0

을 감상 할 수있다 : 같은

var company = `${getCompanyName(creditCard)}: ${creditCard} (${cardValidator(creditCard) ? "valid" : "invalid"})`