2016-08-16 82 views

回答

1

您可以使用compact

var arr = [15,34,595,NaN]; 
arr = _.compact(arr); 

注:每文档compact还将删除的Javascript考虑别的falsy

false,null,0,“”,undefined和NaN

+0

值得一提的是,它还会删除各种其他的东西。 – 2016-08-16 19:20:51

+0

@torazaburo - 好点 – Kalman

+0

很难理解为什么这将是公认的答案,当它从您的阵列中做了更多,可能不需要的删除时,包括删除零。请回想一下,OP的问题是*如何从数组中移除“NaN”?*,而不是*如何从数组中移除“NaN”,并且可以移除其他所有类型的东西?*。 – 2016-08-17 18:03:39

3

这里没有真正需要强调。

arr = arr.filter((el) => !Number.isNaN(el)); 
+0

我只想使用下划线。任何想法? –

+0

@VikramSethumadhavan Underscore是一个JS库。如果我可以使用本机JS结构,为什么我不?你是否还想为'if'或'function'强调下划线? – Sirko

2

拒绝它们是NaN的元素:

_.reject(array, _.isNaN)