1.map: var arr=[1,2,3,4]; arr.map(function_name); 這傳入的方法會把數(shù)組中每個值運行一遍;數(shù)組轉(zhuǎn)字符串:arr.map(String);
2.reduce: reduce必須接收兩個參數(shù):[a,b,c,d].reduce(function_name) = f(f(f(a,b),c),d);可以計算數(shù)組的積 或和;
3.filter也是一個常用的操作夸盟,它用于把Array的某些元素過濾掉嚷掠,然后返回剩下的元素;filter()把傳入的函數(shù)依次作用于每個元素喂江,然后根據(jù)返回值是true還是false決定保留還是丟棄該元素. 例:去除重復(fù)元素,刪除偶數(shù)
arr.filter(function(x){? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? arr.filter(function(x,index,self){
return x/2 !== 0;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?return self.indexOf(x) === index;
})//返回奇數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? })//去除重復(fù)的
4.sort:對于兩個元素x和y,如果認(rèn)為x < y淮阐,則返回-1,如果認(rèn)為x == y,則返回0花嘶,如果認(rèn)為x > y,則返回1
arr.sort(function(x,y){})
5.箭頭函數(shù) x=>x*x? == function(x){return x*x};? 多個參數(shù)用()? ?(x,y,...rest)=>...? ? ?...rest可變參數(shù)除了x,y其余的參數(shù)
6.generator 生成器;generator由function*定義(注意多出的*號)蹦漠,并且椭员,除了return語句,還可以用yield返回多次
function* incre_id(){ var oid = 1; while(true){ yield v++;}}? 自增id例子
7.閉包:將一個函數(shù)作為返回值.http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html