4、数组查找
4.1. indexOf方法
indexOf: 返回数组中第一个满足条件的索引(从0开始), 不满足返回-1。
4.1.1. 只有一个参数的情况,参数表示要查找的元素。
var arr = ['1','2','3'];
var checkElement1 = arr.indexOf('2');
var checkElement2 = arr.indexOf('4');
console.log(checkElement1); // 1
console.log(checkElement2); // -1
4.2. 两个参数的情况,第一个参数表示要查找的元素,第二个参数表示开始查找的下标位置。
var arr = ['1','2','3'];
var checkElement1 = arr.indexOf('2', 1); // 从下标为0的位置开始查找元素‘2’
var checkElement2 = arr.indexOf('2', 2); // 从下标为2的位置开始查找元素‘2’
console.log(checkElement1); // 1
console.log(checkElement2); // -1
4.2. find方法
find:传参是一个函数,返回数组中第一个满足条件的数据,不满足返回undefined;使用find方法后,要对查询到的数据进行undefined的判断,才能正常使用数据。
4.2.1.数组为非空数组。
var arr = ['1','2','3'];
var findData1 = arr.find(val => val === '2'); // 查找元素值为‘2’的数据
var findData2 = arr.find(val => val === '4'); // 查找元素值为‘4’的数据
console.log(findData1); // '2'
console.log(findData2); // undefined
4.2.2. 数组为空数组,查询结果返回undefined。
var arr = [];
var findData1 = arr.find(val => val === '2'); // 查找元素值为‘2’的数据
var findData2 = arr.find(val => val === '4'); // 查找元素值为‘4’的数据
console.log(findData1); // undefined
console.log(findData2); // undefined
4.3. includes方法
includes:判断数组是否包含某值,返回 true 或 false。
var arr = ['1','2','3'];
var includeData1 = arr.includes('2'); // 查找数组是否存在元素值为‘2’的数据
var includeData2 = arr.includes('4'); // 查找数组是否存在元素值为‘4’的数据
console.log(includeData1); // true
console.log(includeData2); // fasle