下面使用的是ES5的方法
- 1、every()
对数组的每一项运行项给定函数,如果该函数对每一项都返回true则返回true...
简单理解:就是检测数组的每一项是否都满足函数的条件,如果是就返回true反则是false
var arr = [1,2,3,4,5,6,7,8,9]; //item:每一项 index:每一项数组所在的索引位置 array 数组 var everyTest = arr.every(function(item,index,array){ item>2; }) console.log(everyTest) //返回false 这就是every 的特性 ,主要检测该数组是否完全满足条件只要有一条不满足则返回false
2、filter()
对数组的每一运行项给定函数,返回该函数会返回true的项组成的数组(用来过滤数组一些项是一件非常不错的选择)var arr = [1,2,3,4,5,6,7,8,9]; //item:每一项 index:每一项数组所在的索引位置 array 数组 var everyTest = arr.filter(function(item,index,array){ item>2; }) console.log(everyTest) //返回 [5,6,7,8,9] filter 的特性 ,主要检测该数组是否完全满足条件只要满足则返回满足数组的项
- 3、forEach()
对数组的每一项给定函数,没有返回值;
在没有ES5之前都只是用for循环进行遍历
var arrfor = ['小东','王二狗','隔壁老王','你的菜','王大锤','赵日天','叶良辰']
for(var i=0;i<arrfor.lenght;i++){
document.body.innerHTML+=""+arrfor[i]+"
"
}
ES5闪亮登场的时候,是时候变身了,大了,粗了,......咳咳,对面老王是shabi -_-~~!!!
var arrforarray = ['小东','王二狗','隔壁老王','你的菜','王大锤','赵日天','叶良辰']
arrforarray.forEach(function(item,index,array){
if (index>2)
{
document.body.innerHTML +="<p>"+item+"</p>"
}
})复制代码
**于是你就会发现数组遍历之后并且在页面成功的出现了你需要的某一项内容或者是遍历所有并且成功的在页面上显示
也就是狗血的床戏里面,各种动作呵呵...........! 男同胞们你想要的那种,例如骑马shi,老鹰捉小鸡shi,带走吧,上天了有木有,还是回家抱着充气的好 .......wocao **
(^_^).....成功的装逼了,果断选择了
咳咳.....
forEach的特性 它对数组的每一项运行传入参数,没有返回值
4、map()
对数组的每一项给定函数,返回函数每次调用的结果组成数组
var maparray = [3,4,5,8,6,{'name':'隔壁老王'}]var mapTst = maparray.map(function(item,index,array){ if(item.name){ return item.name } }) console.log(mapTst)//[undefind,undefind,undefind,undefind,undefind,隔壁老王] 本来第六项是个{} 后面直接替换成了隔壁老王直接返回出来了复制代码
var maparray = [3,4,5,8,6,{'name':'隔壁老王'}]var name; var mapTst = maparray.map(function(item,index,array){ if(item.name){ name=item.name } }) console.log(name) 在N个项中找到业务需要的项,并把数据给带出来,上面只是简单的模拟复制代码