1.map: var arr=[1,2,3,4]; arr.map(function_name); 这传入的方法会把数组中每个值运行一遍;数组转字符串:arr.map(String);
2.reduce: reduce必须接收两个参数:[a,b,c,d].reduce(function_name) = f(f(f(a,b),c),d);可以计算数组的积 或和;
3.filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素;filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素. 例:去除重复元素,删除偶数
arr.filter(function(x){ arr.filter(function(x,index,self){
return x/2 !== 0; return self.indexOf(x) === index;
})//返回奇数 })//去除重复的
4.sort:对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1
arr.sort(function(x,y){})
5.箭头函数 x=>x*x == function(x){return x*x}; 多个参数用() (x,y,...rest)=>... ...rest可变参数除了x,y其余的参数
6.generator 生成器;generator由function*定义(注意多出的*号),并且,除了return语句,还可以用yield返回多次
function* incre_id(){ var oid = 1; while(true){ yield v++;}} 自增id例子
7.闭包:将一个函数作为返回值.http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
网友评论