JavaScript 数组some()语法

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

some() 方法会依次执行数组的每个元素:

  1. 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
  2. 如果没有满足条件的元素,则返回false。

注意: some() 不会对空数组进行检测。

注意: some() 不会改变原始数组。

var arr = [3,6,9,12];
 
if(arr.some(function checknumber(number){return number == 12;})) {
 
    //代码块
}
 
//因为arr数组中有12的值,所以代码块会执行,而函数checknumber中传的参数number是从数组arr中读取
 
输出   true 
 

现在,代码更短了。为了使其更具表现力,可以使用 ES6 中的箭头函数语法:

let marks = [ 4, 5, 7, 9, 10, 3 ];
 
 
let lessThanFive = marks.some(e => e < 5);
 
 
console.log(lessThanFive);

1) 检查数组中是否存在元素

function exists(value, array) {
    return array.some(e => e === value);
}
 
 
let marks = [4, 5, 7, 9, 10, 2];
 
 
console.log(exists(4, marks));
console.log(exists(11, marks));
true
false

2) 检查一个数组是否有一个元素在一个范围内

以下示例显示如何检查标记数组中的任何数字是否在 (8, 10) 范围内:

let marks = [4, 5, 7, 9, 10, 2];
 
 
const range = {
    min: 8,
    max: 10
};
 
 
let result = marks.some(function (e) {
    return e >= this.min && e <= this.max;
}, range);
 
 
console.log(result);

true

请注意,如果在本示例中使用箭头函数,则回调函数中的 this 值不会绑定到范围对象,而是绑定到全局对象。

空数组

如果对空数组调用 some() 方法,则无论何种条件,结果始终为 false。例如:

let result = [].some(e => e > 0);
console.log(result);
 
 
result = [].some(e => e <= 0);
console.log(result);
false
false
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

都挺好,刚刚好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值