目录
一、定义和用法
array.every()接收一个回调函数遍历array数组,通过每一次回调函数调用的返回值为true或者false决定every的最终返回值是true还是false,只要回调函数又一个遍历项返回false则every最终返回false,反之返回true。
二、参数
array.every(function(item,index,arr){},this.value)
- 第一个参数为必填项,需传入一个回调函数,回调函数接收三个参数,依次为当前遍历项(从数组第一项开始遍历)、当前遍历项所索引值、当前数组。
- 第二个参数为可选值,为回调函数指定this指向。
三、返回值
array.every()返回一个布尔值(true或false)
四、用例
- 用例1.1
<script> const arr = [1, 3, 5] const res = arr.every((item) => item > 4) // arr数组中需要每一项都大于4才满足条件,否则返回false console.log(res, 'res') //false </script>
- 用例1.2
<script> const arr = [1, 3, 5] const res = arr.every((item) => item > 0) //每一项需大于0 // arr数组中需要每一项都大于0满足条件 console.log(res, 'res') //true </script>
- 用例1.3 (this.value)
<script> const arr = [1, 3, 5] const res = arr.every( function (item) { console.log(this) return item > 0 }, { name: '我是this新指向' } ) //每一项需大于0 // arr数组中需要每一项都大于0满足条件 console.log(res, 'res') //true </script>
结果是原来的this本应指向window,由于传了第二个可选参数改变了this指向传入的对象