1.数组some的方法
/*
1.some应用场景 : 用于判断数组中是否存在满足条件的元素
2.注意点 :
a. 回调函数执行次数 !=== 数组长度
*some函数在遍历的时候可以中途结束
b. some函数返回一个布尔类型值
c. 回调函数返回布尔类型值用于结束遍历
return true; // 遍历结束,且some函数返回值为true
(默认)return false; //遍历继续,且some函数返回值为false
*/
// 需求 : 判断数组中没有负数
let arr = [11,23,34,25,-99,67,145,420,412]
let arr1 = arr.some(( item,index )=>{
console.log(`下标为${index}的元素是${item}`)
return item < 0
})
console.log(arr1)
2.数组every的方法
/*
1.every应用场景 : 用于判断数组中是否所有元素都满足条件
*every与some功能类似,只是写法不同
2.注意点 :
a.回调函数执行次数 !=== 数组长度
b.every函数返回值一个布尔类型值
c.回调函数返回布尔类型值用于结束遍历
return true; // 遍历结束,且every函数返回值为true
(默认)return false; //遍历继续,且every函数返回值为false
*/
// 需求 : 判断数组中没有负数
let arr = [23,31,60,88,-50,99,102,92]
let arr1 = arr.every(( item,index )=>{
console.log(`下标为${index}的元素是${item}`)
return item > 0
})
console.log(arr1)
3.数组findIndex的方法 (str.indexOf('字符串'))
/*
1.数组findindex方法
1.1 作用 : 获取符合条件的第一个元素位置(下标)
1.2 语法 : arr.findindex( (item,index)=> { return true/false } )
返回值 : 符合则返回元素下标,不符合则返回-1
1.3 应用场景 : 适用于数组元素中元素为对象类型,比传统for循环要高效
*/
let arr1 = [
{name:'张三', age: 20},
{name:'李四', age: 30},
{name:'王五', age: 17},
{name:'赵六', age: 33},
{name:'刘七', age: 23}
]
let arr = arr1.findIndex( (item,index)=>item.age < 18)
/* 回调函数
return true : 循环中断,findindex方法返回值为当前index值
return false : 循环继续,如果数组全部遍历完还是没有返回true,则findindex方法最终返回-1
*/
console.log(arr)
4.function函数与箭头函数区别
/*
function函数和箭头函数最大区别 : this指向不同
function函数this指向三种 : 谁调用我,我就指向谁
(1) new 函数名() : this -> new创建的实例对象
(2) 对象名.函数名() : this -> 对象
(3) 函数名() : this -> window
箭头函数this指向 : 无this
箭头函数this指向 : 上级作用域中的this
*/