indexOf lastIndexOf
indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,
从数组的开头(位置 0)开始向后查找。
lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,
从数组的末尾开始向前查找。
var arr = [1,3,5,7,7,5,3,1];
console.log(arr.indexOf(5)); //2
console.log(arr.lastIndexOf(5)); //5
console.log(arr.indexOf(5,2)); //2
console.log(arr.lastIndexOf(5,4)); //2
console.log(arr.indexOf("5")); //-1
forEach
// 参数分别为 遍历的数组内容 遍历的下标 数组本身
var arr = [1, 2, 3, 4, 5];
arr.forEach((x,index,a) =>{
// console.log(x + '|' + index + '|' + (a));
})
map
// 参数分别为 遍历的数组内容 遍历的下标 数组本身
let arr2 = arr.map((a,b,c)=>{
// console.log(a + '|' + b + '|' + (c));
return a*b
})
forEach和map的区别:
// 1、forEach()返回值是undefined,不可以链式调用。
// 2、map()返回一个新数组,原数组不会改变。
// 3、没有办法终止或者跳出forEach()循环,除非抛出异常,
所以想执行一个数组是否满足什么条件,返回布尔值,可以用一般的for循环实现,
或者用Array.every()或者Array.some();
filter
// 参数分别为 遍历的数组内容 遍历的下标 数组本身
var arr3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var arr4 = arr3.filter(function(x, index,c) {
console.log(c)
return x >= 8;
});
console.log(arr4);
every():判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
书写格式:arr.every()
some():判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
书写格式:arr.some()
那些年容易搞混的数组方法
最新推荐文章于 2024-07-20 10:36:53 发布