Using the Chrome Console, this is my input and output:
[0].map(Array); [[0, 0, [0]]]; // output
What is happening here?
ED
After you updated question. Other answers provide you info about map
To answer why array and string differ look to constructors
String constructor accept 1 parameter String(thing) while array new Array(element0, element1[, ...[, elementN]])