JSRUN 用代码说话

检测每个元素

编辑教程

检测每个元素

问题

你希望能够在特定的情况下检测出在数组中的每个元素。

解决方案

使用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

对于一个真实例子,假设有一个多选择列表,如下:

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

现在要验证用户只选择了数字。利用array.every :

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

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

values.every validateNumeric

讨论

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

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟