ECMAscript5 新增数组内函数
2021-07-12 07:06
标签:功能 过滤 图片 var soscw for循环 res bsp 假设 indexOf() . forEach(function(item, index, arr ){ }) forEach() for循环 效果: 传统方式 filter() 过滤 /* 【注】只要找到第一个符合条件的元素,就直接退出循环。 every() 【注】找到第一个不符合条件的元素,就终止循环,返回false 返回值:true false 将上述代码中的判断条件修改为: 结果就为真: reduce() 归并 语法:数组.reduce(function(prev, next, index, arr){ }) prev 上一次循环 return后面表达式的结果 ECMAscript5 新增数组内函数 标签:功能 过滤 图片 var soscw for循环 res bsp 假设 原文地址:https://www.cnblogs.com/taohuaya/p/9547174.html
格式:数组.indexOf(item, start)
功能:从start这个下标开始,查找item在数组中的第一次出现的下标。
参数:item 我们要去查找的元素
start从哪个下标开始去查找,如果不传,默认从0开始查找
返回值: -1 没有找到
>=0 查到到的下标var arr = ["蝙蝠侠", "超人", "闪电侠", "绿灯侠", "神奇女侠", "绿灯侠"];
var res = arr.indexOf("绿灯侠", 4);
alert(res);// 5
var arr = ["蝙蝠侠", "超人", "闪电侠", "绿灯侠", "神奇女侠", "绿灯侠"];
var res = indexOf(arr, "绿灯sss侠");
alert(res);// -1 未找到
//自定义的(自己封装函数)indexOffunction indexOf(arr, item, start){
var index = -1;//假设找不到
if(!start){
start = 0;
}
for(var i = start; i ){
if(arr[i] === item){
index = i;
break;
}
}
return index;
}
格式:数组.forEach(function(item, index, arr){
item 当前遍历的到元素
index 当前遍历到的元素下标
arr 当前数组本身
})
功能:用来遍历数组。
for...in
forEachvar arr = ["蝙蝠侠", "超人", "闪电侠", "绿灯侠", "神奇女侠", "绿灯侠"];
arr.forEach(function(item, index, arr){
alert(item + ", " + index);
})
for(var i = 0; i ){
alert(arr[i]);
}
map() 遍历var arr = [10, 20, 30, 40, 50];
var newArr = arr.map(function(item, index, arr){
return item * 1.3; //newArr对应下标的结果
})
alert(arr);//10, 20, 30, 40, 50
alert(newArr);//13,26, 39, 52, 65
var arr = [10, 20, 30, 40, 50];
var newArr = arr.filter(function(item, index, arr){
//找出原数组中大于20的所有元素,生成一个新数组
return item > 20; //过滤条件
});
alert(arr);//10, 20, 30, 40, 50
alert(newArr);//30, 40, 50
some() 某些
判断是否有符合条件的元素存在。
返回值: true falsevar arr = [10, 20, 30, 40, 50];
var res = arr.some(function(item, index, arr){
// alert(item + ", " + index);
//判断的条件。
return item > 20;
})
alert(res);//30, 40, 50
判断所有元素是否都符合条件。var arr = [10, 20, 30, 40, 50];
var res = arr.every(function(item, index, arr){
alert(item + ", " + index);
//判断的条件。
return item ;
})
alert(res);// false
return item > 5;
alert(res);// true
next 这一次遍历的元素
index 这一次遍历的元素的下标var arr = [10, 20, 30, 40, 50];
var res = arr.reduce(function(prev, next, index, arr){
/*
prev 上一次循环 return后面表达式的结果
next 这一次遍历的元素
index 这一次遍历的元素的下标
*/
alert(prev + ", " + next);
return prev + next;
})
alert(res);//150 通过此种方法实现了求数组元素的总和