1.every()方法的定义与用法
- every()方法用于检测数组中的所有元素是否都满足指定条件
- every()方法会遍历数组中的每一项,如果有一项不满足条件,则表达式返回false,剩余的项将不会进行检测;如果遍历完数组后,每一项都符合条件,则返回true
标准用法:
array.every(function(currentValue,index,arr), thisValue)
- 第一个参数为一个回调函数,必传,数组中的每一项都会遍历执行该函数。
currentValue:必传,当前项的值
index:选传,当前项的索引值
arr:选传,当前项所属的数组对象 - 第二个参数thisValue为可选参数,回调函数中的this会指向该参数对象。
注意:
- every() 不会对空数组进行检测
- every() 不会改变原始数组
var arr = [1000, 2000, 3000]
var flag = arr.every(function(value,index,arr){console.log(value + "===" + index + "====" + arr); //1000===0====1000,2000,3000return value > 2000;
})
console.log(flag); //false
arr.every((item)=>{return item>10})//true
arr.every((item)=>{return item>1000})//false//这里可以用于判断,选中的数组中
//是否-都是草稿
var arr = ["草稿", '草稿', '已提交']
if(arr.every((item)=>{return item=='草稿'})){}else{return this.$message.warning('只有草稿才可以操作')
}
//true
if(arr.every((item)=>{return item=='草稿'||item=='已提交'})){return this.$message.warning('只有草稿和已提交才可以操作')
}
2.some()方法的定义与用法
javascript some()方法的用法:
- 检测数组中是否存在符合指定条件的元素,存在就返回true,不存在就返回false;
- 检测数组中的所有元素是否都不符合指定条件,都不符合返回false,有一个或者多个符合返回true。
语法:
array.some(function(currentValue,index,arr),thisValue)
- function(currentValue, index,arr) 必须。函数,数组中的每个元素都会执行这个函数
函数参数:
参数 描述
currentValue 必须。当前元素的值
index 可选。当前元素的索引值
arr 可选。当前元素属于的数组对象 - thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。 如果省略了 thisValue ,“this” 的值为 “undefined”
注意:
- some() 不会对空数组进行检测。
- some() 不会改变原始数组。
- 返回值: 布尔值。如果数组中有元素满足条件返回 true,否则返回 false。
例子:
var ages = [3, 10, 18, 20];function checkAdult(age) { console.log('age',age)return age >= 18;
}
function myFunction() {console.log('111111',ages.some(checkAdult))
}
myFunction()
//age 3
//age 10
//age 18
//111111 trueif(ages.some((item)=>{return item==20})){return this.$message.success('存在20')
}
3.every()和some()的区别
只要数组中有一个元素满足条件,some() 就返回 true;
只有当数组中的所有元素都满足条件时,every() 才返回 true。