CoffeeScript 篩選數(shù)組

2022-06-29 16:54 更新

篩選數(shù)組

問題

你想要根據(jù)布爾條件來篩選數(shù)組。

解決方案

使用Array.filter (ECMAScript 5): array = [1..10]

array.filter (x) -> x > 5
# => [6,7,8,9,10]

在EC5之前的實現(xiàn)中,可以通過添加一個篩選函數(shù)擴展Array的原型,該函數(shù)接受一個回調并對自身進行過濾,將回調函數(shù)返回true的元素收集起來。

# 擴展 Array 的原型
Array::filter = (callback) ->
  element for element in this when callback(element)

array = [1..10]

# 篩選偶數(shù)
filtered_array = array.filter (x) -> x % 2 == 0
# => [2,4,6,8,10]

# 過濾掉小于或等于5的元素
gt_five = (x) -> x > 5
filtered_array = array.filter gt_five
# => [6,7,8,9,10]

討論

這個方法與Ruby的Array的#select方法類似。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號