首页 > 代码库 > JS ECMAScript 5中的every 和 some方法进行逻辑判断
JS ECMAScript 5中的every 和 some方法进行逻辑判断
ECMA Script 5 中新增两个不错的关于数组元素的逻辑运算方法some, every
Array.some(function(item){});
Array.every(function(item){});
every方法表示当数组每个元素在判定函数中都返回true,则最终结果为true,相当于逻辑运算符 &&,
some则当其中一个返回true,则最终结果为true, 相当于逻辑运算符||。
以下来举例说明:
var items = [1, 2, 3, 4, 5]; var res = items.every(function(item){ return item > 3; }); console.log(res); // false items = [‘a‘, 2, 3, 4, 5]; res = items.every(function(item){ return !isNaN(item); // 检查是否是数值 }); // 检查是不是每个元素都是数字 console.log(res); // false items = [‘a‘, 2, 3, 4, 5]; res = items.some(function(item){ return !isNaN(item); // 检查是否是数值 }); console.log(res); // true
当然逻辑或,逻辑与运算可能会遇到数组为空的情况,所以按照数学上的惯例,数组为空时,some直接返回false, every直接返回true,
所以当设计到特点业务时,需要注意到这点,最好还是添加限定条件,确保数组不为空,使代码意图更加明了可读。
同时,从规范中还了解到,跟逻辑与相似,当其中一个判定返回false时,整个计算就直接停止,返回最终结果false从而提高效率。所以请不要在判定函数里添加其他业务逻辑或者执行代码,如有需求,请使用map代替。
JS ECMAScript 5中的every 和 some方法进行逻辑判断
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。