《JavaScript》forEach()和map()
js中的forEach()方法只能遍历数组,不能遍历字符串和对象,
和$.each()有很多使用上的区别
array.forEach(funcion(value,index,arr){},thisValue);
value必须;index:元素下标(可选);arr:调用方法的数组
thisValue,forEach中,this指代的值
//去除数组中相同的元素 function unique(array){ var arr = [] array.forEach(function(val,key,arrself){ //在forEach循环中不可以使用break和continue //break;break没有代替方案 //continue;可以使用return代替continue //return;return false;return true;效果相同,跳出本次,继续下次循环 arr.push(val) for(var i=0;i < arr.length - 1;i++){ if(arr[i]==val){ arr.pop(); break; } } },'123') return arr; } var array=[1,1,2,3,4,4,5,1] var newarray = unique(array) console.log(newarray)
array. map()
按照数组元素的顺序,在map中循环处理,并且返回处理结果
var array = [1,2,3] var newarray = array.map(function(val){ return val+1; }) var newobj = array.map(function(val){ return {a:val,b:val} }) console.log(array) console.log(newarray) console.log(newobj)