js的parseInt() map(),reduce()方法詳解

parseInt(string,radius)接收兩個參數,

string(必選)若是接受的是‘abc’,純字符串,返回NaN,要是‘123’會轉化爲123,要是‘abc123’會轉化爲123,radius(可選)表示的是基數,指定前面的string是一個幾進制的數(不是將string轉化爲多少進制,而是這個string自己是一個多少進制的數),string()方法纔是把一個10進制的數轉化成多少進制。radius的範圍是2-36,若是radius爲零,系統默認解析爲10,其餘系統輸出NaN.
var arr=[1,2,3,4,5];數組

var b=arr.map(parseInt);
console.log(b);
console.log(parseInt(1,0));        //1
console.log(parseInt('2',1));     //NaN
console.log(parseInt('3',2));    //本身自己大於基數,應該都小於2才合理
console.log(parseInt(4,3));
console.log(parseInt(5,4));
console.log(parseInt(11,10));

map(function(value,index,arr){}),map接受一個回調函數,函數能接受三個參數,數組元素、索引號、數組自己

var arr=[1,2,3,4,5];函數

var new_arr=arr.map(function(value,index,arr){
   return value*index;
});
console.log(new_arr);

IE7-8能夠用原型的方法來兼容map()

//IE6-8
if(typeof Array.prototype.map!="function"){
    Array.prototype.map=function(fn,context){
        var arr=[];
        if(typeof fn==="function"){
            for (var i = 0; i < this.length; i++) {
                arr.push(fn.call(contxt,this[i],i,this));
            }
        }
        return arr;
    }
}

reduce(finction(total,value,index,arr){},content)接受兩個參數一個回調函數一個初始值(可選)

回調函數帶四個參數初始值|最終值、元素值、索引號、數組自己。
比map的函數多一個參數total(初始值,最終值),由於reduce方法數組每次輸入兩個元素。
var a=[1,2,3,4].reduce(function(total,value,index,arr){this

return total+value;

})
console.log(a); //10
var a=[1,2,3,4].reduce(function(total,value,index,arr){prototype

return total+value;

},100);
console.log(a); //110code

相關文章
相關標籤/搜索