【发布时间】:2013-04-08 20:35:58
【问题描述】:
我的代码
var arr = ['a','b',1];
var results = arr.map(function(item){
if(typeof item ==='string'){return item;}
});
这给出了以下结果
["a","b",undefined]
我不想在结果数组中出现undefined。我该怎么做?
【问题讨论】:
-
因为除非是字符串,否则您不会返回任何内容。因此,最后一项返回
undefined。如果它不是字符串,你期望返回什么?一个空字符串? -
@BenM 如果它不是字符串,我不希望返回任何内容。甚至未定义。
-
看来我使用了错误的方法来执行此操作。我将按照建议使用过滤器。
-
您可能想接受答案。
-
jQuery.map 实际上足够聪明,不会在结果数组中包含未定义和空值。
标签: javascript