你希望能夠在特定的情況下檢測出在數(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/) 。
對于一個真實例子,假設(shè)你有一個多選擇列表,如下:
<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? 的方法很相似。