《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)

 

 

 

 

 

posted @ 2018-05-30 10:34  言凡  阅读(671)  评论(0编辑  收藏  举报