JS中every的简单使用

every 方法

every()方法用于检测数组中的所有元素是否都满足指定条件。
every()方法会遍历数组的每一项,如果有一项不满足条件,则返回false,剩余的项将不会再执行检测。
如果遍历完数组后,每一项都符合条,则返回true。 

基本用法

array.every(function(currentValue,index,arr), thisValue)

参数说明:
第一个参数为一个回调函数,必传,数组中的每一项都会遍历执行该函数。
currentValue:必传,当前项的值
index:选传,当前项的索引值
arr:选传,当前项所属的数组对象
第二个参数thisValue为可选参数,回调函数中的this会指向该参数对象。

<script>
    var arr = [100, 50, 80, 90, 40]
    var flag = arr.every(function(currentValue, index, arr) {
      //数组中的每个元素的值都要大于60,才会返回true
      return currentValue > 60; 
    })
    console.log(flag) //false
</script>

运用场景,比如封装组件的时候
传递值数组必须要包含label和props这两个属性。
我们就可以使用这every方法判断
var arr = [{
    label: "date",
    prop: "date",
}, {
    label: "name",
    prop: "name",
}, {
    label: "address",
    prop: "address",
}]
var flag = arr.every((item) => {
    return item.label && item.prop
})
console.log(flag) //true

every函数的注意点:

every() 不会对空数组进行检测
every() 不会改变原始数组

every() 不会对空数组进行检测

<script>
let arr = []
let flag = arr.every((item, index) => {
    //空数组,里面的代码没有被执行。 返回的是true
    console.log('空数据')
    return item && item.age > 10
})
console.log(flag) //输出的是true
</script>
posted @ 2022-07-28 12:14  南风晚来晚相识  阅读(7632)  评论(0编辑  收藏  举报