Create the function prefill
that returns an array of n
elements that all have the same value v
. See if you can do this without using a loop.
You have to validate input:
v
can be anything (primitive or otherwise)- if
v
is ommited, fill the array withundefined
- if
n
is 0, return an empty array - if
n
is anything other than an integer or integer-formatted string (e.g.'123'
) that is>=0
, throw aTypeError
When throwing a TypeError
, the message should be n is invalid
, where you replace n
for the actual value passed to the function.
Code Examples
prefill(3,1) --> [1,1,1]
prefill(<span class="hljs-number">2</span>,<span class="hljs-string">"abc"</span>) --> [<span class="hljs-string">'abc'</span>,<span class="hljs-string">'abc'</span>]
prefill(<span class="hljs-string">"1"</span>, <span class="hljs-number">1</span>) --> [<span class="hljs-number">1</span>]
prefill(<span class="hljs-number">3</span>, prefill(<span class="hljs-number">2</span>,<span class="hljs-string">'2d'</span>))
--> [[<span class="hljs-string">'2d'</span>,<span class="hljs-string">'2d'</span>],[<span class="hljs-string">'2d'</span>,<span class="hljs-string">'2d'</span>],[<span class="hljs-string">'2d'</span>,<span class="hljs-string">'2d'</span>]]
prefill(<span class="hljs-string">"xyz"</span>, <span class="hljs-number">1</span>)
--> throws <span class="hljs-built_in">TypeError</span> <span class="hljs-keyword">with</span> message <span class="hljs-string">"xyz is invalid"</span></code></pre>
prefill(3,1) --> [1,1,1]
prefill(2,"abc") --> ['abc','abc']
prefill("1", 1) --> [1]
prefill(3, prefill(2,'2d'))
--> [['2d','2d'],['2d','2d'],['2d','2d']]
prefill("xyz", 1)
--> throws TypeError with message "xyz is invalid"
prefill(3,1) --> [1,1,1]
prefill(2,"abc") --> ['abc','abc']
prefill("1", 1) --> [1]
prefill(3, prefill(2,'2d'))
--> [['2d','2d'],['2d','2d'],['2d','2d']]
prefill("xyz", 1)
--> throws TypeError with message "xyz is invalid"
prefill 3, 1 #returns [1, 1, 1]
prefill 2, "abc" #returns ["abc","abc"]
prefill "1", 1 #returns [1]
prefill 3, prefill(2, "2d")
#returns [['2d','2d'],['2d','2d'],['2d','2d']]
prefill "xyz", 1
#throws TypeError with message "xyz is invalid"
Solution