数组中some方法,主要是用于测试数组中是不是至少有一个元素通过了被提供的函数测试。
如果是,则返回布尔值true。
如果不是,则返回布尔值false。
注意:some方法只能返回布尔值,也就是说,返回的结果要么是true,要么是false。
基于some方法的这些特点,可用于筛选数组中是否存在满足需要的元素。
举一个简单的例子:
// 随便创建一个数组
// 判断数组中的数是否有三的倍数,如果有则打印:以上数有三的倍数,没有则反之。
// 利用some方法,代码如下:
let arr = [46, 877, 3, 6, 26, 8, 456, 35]
let result = arr.some(item => {
return item % 3 === 0
})
if (result) {
console.log(`以上数有三的倍数`)
} else {
console.log(`以上数没有三的倍数`)
}
友情提醒:
1.代码中arr和result是变量名,item是形参名,可以随便起名,但一定要注意规范。(切记:不能取关键字)
2.arr.sum()这个括号中必须是函数,以上是箭头函数格式,括号中代码可以改为普通函数:
function(item) {
return item % 3 === 0
}
3.return后边本来是可以返回满足要求的数组中的数字,但some方法只能返回布尔值,所以不论结果如何,最后都自动转为了布尔值,可用来判断是否满足要求。
4.some方法也会遍历数组,与forEach不同的是,some方法更有针对性,会返回布尔值。
5.解决问题的代码不止一种,根据要求选择对应的方法,代码往往会更加简洁和直观。