indexOf()
格式:数组.indexOf(item, start);
参数:
第一个参数:查找哪个元素
第二个参数:从哪个位置开始查找,不传,默认从下标0开始查
功能:查找item在数组中,第一次出现的位置,并且从start开始去查
返回值:查找到的下标 如果查找不到,返回-1
var arr = [10, 20, 30, 40, 30, 20, 10];
var index = arr.indexOf(30, 3);
alert(index);//4
forEach
循环遍历
item 是当前遍历到的元素
index 当前元素的下标
arr 数组本身
var arr = [10, 20, 30, 40, 50];
arr.forEach(function(item, index, arr){
alert(item + ", " + index);//10,0 20,1 30,2 40,3 50,4
})
map
数组遍历/数组映射
遍历过程中,计算return后面值,生成一个新数组,原数组不会被修改
var arr = [10, 20, 30, 40, 50];
var newArr = arr.map(function(item, index, arr){
return item * 1.3;
})
alert(newArr);//13,26,39,52,65
alert(arr);//10,20,30,40,50
filter
过滤
过滤条件: return
【注】将符合条件的元素生成新数组,原数组不会被改变
var arr = [10, 20, 30, 40, 50];
var newArr = arr.filter(function(item, index, arr){
return item > 20;
})
alert(newArr);//30,40,50
alert(arr);//10,20,30,40,50
some()
某些
【注】在数组中查找符合条件的元素,如果有,返回true,没有返回false。
判读条件就是return后面的表达式。
【注】只要找到第一个符合条件的元素就,停止循环。
var arr = [10, 20, 30, 40, 50];
var res = arr.some(function(item, index, arr){
alert(item);
return item > 30;
})
alert(res);//10,20,30,40,true
every()
每一个
【注】数组中判断每一个元素,是否都符合条件,都符合返回true,否则返回false。
【注】只要找到一个不符合条件的元素就直接返回false。
var arr = [10, 20, 30, 40, 50];
var res = arr.every(function(item, index, arr){
alert(item);
return item > 5;
})
alert(res);//10,20,30,40,50,true
reduce()
归并
prev 上一次return表达式的结果 从下标0开始
next 当前遍历到的元素,从下标1开始遍历
var arr = [10, 20, 30, 40, 50];
var res = arr.reduce(function(prev, next, index, arr){
alert(prev + ", " + next);
return prev + next;
});
alert(res);//10,20 30,30 60,40 100,50 150
还一个字符串方法
trim()
字符串.trim()
功能:删除字符串首尾的空格。
var str = " h el l o ";
alert("|" + str + "|");//| h el l o |
var newStr = str.trim();
alert("|" + newStr + "|");//|h el l o|
函数 | 作用 |
---|---|
indexOf() | 查找元素下标 |
forEach | 循环遍历 |
map | 数组遍历/数组映射 |
filter | 过滤 |
some() | 某些 |
every() | 每一个 |
reduce() | 归并 |
trim() | 删除字符串首尾的空格 |