underscore的几个集合的方法操作【5】
贴自己写的代码:
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>集合类</title> 6 <script src="underscore.js"></script> 7 <script> 8 9 /* 10 集合类一般有数组和 对象 11 */ 12 var data={ 13 name:'Underscore', 14 email:'taobao@qq.com', 15 say:function(){ 16 document.title=1; 17 } 18 } 19 20 var num=[1,2,3,4,5,6]; 21 var result=[]; 22 23 /* 24 each() 和 map()函数 遍历方法 each()没有返回值 map有返回值 25 */ 26 _.each(num,function(n){ 27 if(!(n%2)){ 28 console.log(n); 29 } 30 }) 31 32 33 _.map(num,function(n){ 34 35 if(!(n%2)){ 36 result.push(n); 37 } 38 39 }) 40 41 42 console.log(result);//[2,4,6] 43 44 //当传入是一个对象的时候,iterator迭代器参数为(key,value,object); 45 _.map(data,function(value,key,obj){ 46 console.log(key+'->'+value); 47 }) 48 49 50 //find()函数,该函数的功能是:根据iterator迭代器中的自定义函数条件,在list列表中查找符合条件的第一个元素项,如果找到,返回第一个元素项,否则返回"undefined" 51 52 var n=_.find(num,function(n){ 53 return n>3; 54 }) 55 56 console.log(n);//n=4 57 58 //filter()方法返回一个符合的数组 59 var m=_.filter(num,function(n){ 60 return n>3; 61 }) 62 63 console.log(m); 64 65 66 //sortBy() 排序方法 67 68 var stu = [ 69 { name: '张三', score: 60 }, 70 { name: '李四', score: 40 }, 71 { name: '王二', score: 80 } 72 ]; 73 var sort=_.sortBy(stu,function(n){ 74 return n.score; 75 }) 76 console.log(sort); 77 for(var p in sort){ 78 console.log(sort[p].name+'->'+sort[p].score); 79 } 80 81 //groupBy()分组函数 82 83 var group=_.groupBy(stu,function(n){ 84 return n.score>60; 85 }) 86 console.log(group); 87 </script> 88 </head> 89 90 <body> 91 </body> 92 </html>