some()方法:
/** Array.some(function(currentValue, index, arr), thisValue);
* currentValue:必需,当前元素的值
* index:可选,当前元素的索引值
* arr:可选,当前元素属于的数组对象
* thisValue:可选,作为回调函数的this
* some()方法检查数组元素是否满足指定条件(由回调函数提供)
* some()方法依次检查每一个元素,任意一个元素满足条件,则返回true,检查停止
* 没有元素满足条件,返回false
* some()不检查空数组,不改变原数组
*/
var arr = [20, 13, 45, 36, 89, 2, 14, 8, 36, 5];
var result;
result = arr.some(function (item, i, para) {
if (item === 36) {
console.log(item); //36
console.log(i); //3,36第一次出现的位置索引为3
console.log(para); //arr,当前元素属于arr
console.log(this); //arr,this -> arr
return true; //返回true,结束some()方法
}
}, arr);
console.log(result); //true,有元素满足条件,返回true
findIndex()方法:
/** Array.findIndex(function(currentValue, index, arr), thisValue)
* currentValue,必需,当前元素
* index,可选,当前元素的索引
* arr,可选,当前元素所属的数组
* thisValue,可选,指定回调函数的this
* findIndex检查元素是否满足回调函数指定的条件,满足则返回该元素的索引值
* 没有满足条件的元素则返回-1
* 不检查空数组,不改变原数组
*/
var arr = [12, 54, 33, 12, 56, 4, 5, 89, 66, 56];
var result;
result = arr.findIndex(function (item, i, para) {
if (item === 56) {
console.log(item); //56
console.log(i); //4
console.log(para); //arr
console.log(this); //arr
return true;
}
}, arr);
console.log(result); //4,返回索引值