My code
var arr = [\'a\',\'b\',1];
var results = arr.map(function(item){
if(typeof item ===\'string\'){return item;}
});
<
You only return a value if the current element is a string. Perhaps assigning an empty string otherwise will suffice:
var arr = ['a','b',1];
var results = arr.map(function(item){
return (typeof item ==='string') ? item : '';
});
Of course, if you want to filter any non-string elements, you shouldn't use map(). Rather, you should look into using the filter() function.