1.高階函數(shù)——可自定義函數(shù)
-
sort();
Array的sort()方法默認(rèn)把所有元素先轉(zhuǎn)換為String再排序,返回的結(jié)果仍是當(dāng)前Array。
升序 對(duì)字符串排序,是按照ASCII的大小比較的
function compare(x, y) {
if (x < y) {
return -1;
}
if (x > y) {
return 1;
}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.sort(compare);
-
map();
要把這個(gè)函數(shù)作用在一個(gè)數(shù)組上熬苍,就可以用map實(shí)現(xiàn)
function pow(x) {
return x * x;
}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81];
//arr.map(function(x){ return x*x; });
map()把字符串變成整數(shù)
var arr = ['1', '2', '3'];
var r;
r = arr.map(function(x){
return parseInt(x,10);
}); //r = arr.map(Number);
alert('[' + r[0] + ', ' + r[1] + ', ' + r[2] + ']');
當(dāng)r=arr.map(parseInt); //輸出[1,NaN,NaN];
原因 map的參數(shù)為(ele,index,Arr);
parseInt('1', 0); // 1, 按十進(jìn)制轉(zhuǎn)換
parseInt('2', 1); // NaN, 沒有一進(jìn)制
parseInt('3', 2); // NaN, 按二進(jìn)制轉(zhuǎn)換不允許出現(xiàn)3
-
reduce();
這個(gè)函數(shù)必須接收兩個(gè)參數(shù)仍源,reduce()把結(jié)果繼續(xù)和序列的下一個(gè)元素做累積計(jì)算
var arr = [1, 3, 5, 7, 9];
arr.reduce(function (x, y) {
return x + y;
}); // 25
-
filter();
過濾素?cái)?shù)
function get_primes(arr) {
return arr.filter(function(x){
for(var i=2;i<x;i++)
{
if(x%i==0)
{
return false;
}
}
return true&&x>1;
});
}
2.indexOf (ele); //獲取數(shù)組中元素的索引
3.slice(0,3); //獲取[0,2)引索的值,返回新數(shù)組(獲取數(shù)組中部分元素)
4.push();(后進(jìn))和pop();(后出)
5.unshift();(前進(jìn))和shift();(前出)
6.reverse();(反轉(zhuǎn))
7.concat();方法可以接收任意個(gè)元素和Array真屯,并且自動(dòng)把Array拆開,然后全部添加到新的Array里
8.splice(startIndex,delCount,insteadOf); //添加穷娱、刪除绑蔫、替換(返回刪除的元素)
9.join(); (把當(dāng)前Array的每個(gè)元素都用指定的字符串連接起來,然后返回連接后的字符串)
數(shù)組與字符串的相互轉(zhuǎn)換
- split分隔字符串(字符串轉(zhuǎn)化為數(shù)組)從該參數(shù)(',')指定的地方分割
arr="Hello!,Hello!,Hello!";
arr.split(","); //輸出['Hello!','Hello!','Hello!']——————Hello!,Hello!,Hello!
//返回的字符串?dāng)?shù)組泵额,不包括","
- join分隔數(shù)組(數(shù)組轉(zhuǎn)化為字符串)
var arr=['H','e','l','l','o','!'];
alert(arr.join('')); //輸出'Hello!'——————Hello