2016-08-16 127 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)