一、some方法
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
var ages= [3, 10,18, 35];
function myFn(){
return age = 18;
}
console.log(ages.some(myFn));
二、indexOf方法
数组的indexOf函数,方法arr.indexOf(find,start);
find:要找的内容,必须;
start:查找开始下标,可选;
返回:查找数据所在的下标,如果没找到,返回-1
console.log(ages.indexOf(18));
三、includes()函数
ES6提供了Array.includes()函数判断是否包含某一元素,除了不能定位外,解决了indexO两个问题(在ES5,Array已经提供了indexOf用来查找某个元素的位置,如果不存在就返回-1,但是这个函数在判断数组是否包含某个元素时有两个小不足,第一个是它会返回-1和元素的位置来表示是否包含,在定位方面是没问题,就是不够语义化。另一个问题是不能判断是否有NaN的元素。)。它直接返回true或者false表示是否包含元素,对NaN一样能有有效。includes()函数的第二个参数表示判断的起始位置。第二个参数也可以是负数,表示从右数过来第几个,但是不改变判断搜索的方向,搜索方向还是从左到右。
const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries'];
console.log(redFruits.includes('apple'));//true
console.log(redFruits.includes('apple',0));//true
console.log(redFruits.includes('apple',1));//false
console.log(redFruits.includes('apple',-4));//true