create a javascript function that oddlyEven( data ) This function accepts a single input. The first input is either a Number or a String. If it is a number, it is a positive integer. If it is a String, it is a number encoded using the "oddly-even" scheme. The oddly-even scheme encodes the digits 0 through 9 as a sequence of asterisks or a sequence of hashes where odd digits are hashed and even digits are asterisks. Each digit is then separated by a colon (:). The mapping is as follows: 0 == '*', 1 == '#', 2 == '**', 3 == '##', 4 == '***', 5 == '###', 6 == '****', 7 == '####', 8 == '*****', 9 == '#####'. For example, the number 312 is oddly-even encoded as ##:#:**. If the input is a Number the function returns the oddlyEven encoding of that number. If the input is a String, the function returns the corresponding Number. This function returns undefined for all other usages. If the input is neither a Number nor a String; or if the Number is negative or not an integer; or the String is not encoded using the oddly-even scheme, the function returns the undefined value.
create a javascript function that
This function accepts a single input. The first input is either a Number or a String. If it is a number, it is a positive integer. If it is a String, it is a number encoded using the "oddly-even" scheme. The oddly-even scheme encodes the digits 0 through 9 as a sequence of asterisks or a sequence of hashes where odd digits are hashed and even digits are asterisks. Each digit is then separated by a colon (:). The mapping is as follows: 0 == '*', 1 == '#', 2 == '**', 3 == '##', 4 == '***', 5 == '###', 6 == '****', 7 == '####', 8 == '*****', 9 == '#####'. For example, the number 312 is oddly-even encoded as ##:#:**.
If the input is a Number the function returns the oddlyEven encoding of that number. If the input is a String, the function returns the corresponding Number. This function returns undefined for all other usages. If the input is neither a Number nor a String; or if the Number is negative or not an integer; or the String is not encoded using the oddly-even scheme, the function returns the undefined value.
Examples
- oddlyEven( 18 ) => '#:*****'
- oddlyEven( '#:*****:##') => 183
- oddlyEven( -3 ) => undefined
- oddlyEven( 'CS' ) => undefined
- oddlyEven( oddlyEven(318) ) => 318
Step by step
Solved in 4 steps with 2 images