javascript总结25:Array的5中迭代方法: every(), filter() , forEach() map() some()
1 Array常用的操作方法:
1 操作方法
- concat() //把参数拼接到当前数组
-slice() //从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始
-splice()//删除或替换当前数组的某些项目,参数start,deleteCount,options(要替换的项目)
2 位置方法
-indexOf()、lastIndexOf() //如果没找到返回-1
3 迭代方法 不会修改原数组
-every() 他的返回值是一个boolean类型值。而参数是一个回调函数。
var arr = ["1111","2222","3333","4444","5555"]; // ====every() var bool = arr.every(function (element,index,array) { // element = "aaa"; // array[index] = "aaa"; console.log(element); console.log(index); console.log(array); // return true; if(element.length>2){ return false; } return true; }); console.log(arr); var bool1 = arr.every(function (){ return true }); alert(bool1);
-filter()返回值是一个新数组。return为true的数组。
var arr1 = arr.filter(function (ele,index,array) { if(ele.length>2){ return false; } return true; }); console.log(arr1);
-forEach() 遍历数组(无返回值,纯操作数组中的元素)
var str = ""; arr.forEach(function (ele,index,array) { str+=ele; }); alert(str);
-map() 有返回值,返回什么都添加到新数组中。
var arr2 = arr.map(function (ele,index,array) { return ele+"你好"; }); console.log(arr2);
-some() 有返回值,函数结果有一个是true,本方法结果也是true。
var n1; var flag = arr.some(function (ele,index,array) { if(ele.length>2){ console.log(ele); return true; } return false; }); alert(flag);