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));
var arr=[1,2,3,4,5];函數
var new_arr=arr.map(function(value,index,arr){ return value*index; }); console.log(new_arr);
//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; } }
回調函數帶四個參數初始值|最終值、元素值、索引號、數組自己。
比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