CoffeeScript 檢測每個元素

2022-06-29 16:56 更新

檢測每個元素

問題

你希望能夠在特定的情況下檢測出在數(shù)組中的每個元素。

解決方案

使用Array.every(ECMAScript 5):

evens = (x for x in [0..10] by 2)

evens.every (x)-> x % 2 == 0
# => true

Array.every被加入到Mozilla的Javascript 1.6 ,ECMAScript 5標準。如果你的瀏覽器支持,但仍無法實施EC5 ,那么請檢查[ _.all from underscore.js]( http://documentcloud.github.io/underscore/) 。

對于一個真實例子,假設你有一個多選擇列表,如下:

<select multiple id="my-select-list">
  <option>1</option>
  <option>2</option>
  <option>Red Car</option>
  <option>Blue Car</option>
</select>

現(xiàn)在你要驗證用戶只選擇了數(shù)字。讓我們利用array.every :

validateNumeric = (item)->
  parseFloat(item) == parseInt(item) && !isNaN(item)

values = $("#my-select-list").val()

values.every validateNumeric

討論

這與Ruby中的Array #all?的方法很相似。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號