2.15 max

2.15.1 语法:

_.max(list, [iteratee], [context])

2.15.2 说明:

返回list中的最小值。

  • list为集合,数组、对象、字符串或arguments
  • iteratee作为返回最大值的依据
  • iteratee的参数(value, key, list)
  • context可以改变iteratee内部的this

2.15.3 代码示例:

示例一:从不同的集合中取出最大值

_.max([1, 2, 3]); //=> 3
_.max({a:1, b:2, c:3}); //=> 3
_.max('123'); //=> '3'

示例二:iteratee作为返回最大值的依据

var max = _.max([1, 2, 3], function(n){
return -n; //-1最大,作为最大值的依据。
});
console.log(max); //=> 1

示例三:iteratee可以为list元素的属性

var max = _.max(['aaa', 'bb', 'c'], 'length');
console.log(max); //=> 'aaa'

示例四:iteratee可以为list元素的key

var arr = [{name: 'iro', age : 15}, {name: 'moe', age : 20}, {name: 'kyo', age : 18}]
var max = _.max(arr, 'age');
console.log(max); //=> Object {name: "moe", age: 20}

示例五:context可以改变iteratee内部的this

var max = _.max([1, 2], function (n) {
console.log(this); //=> Object {no: 5}
return this.no - n;
}, {no : 5});

2.15.4 list的特殊情况

_.max(null); //=> -Infinity
_.max(undefined); //=> -Infinity
_.max(null, undefined); //=> -Infinity
_.max(Infinity); //=> -Infinity
_.max(true); //=> -Infinity
_.max(false); //=> -Infinity
_.max([]); //=> -Infinity
_.max({}); //=> -Infinity
_.max(1); //=> -Infinity
_.max({'a': 'a'}); //=> -Infinity
_.max(1, 'abc'); //=> -Infinity

underscorejs-max学习的更多相关文章

  1. 3ds Max学习日记(二)

      搞了一天终于把第二章弄完了,虽然有点慢,但也是没有办法,毕竟中途学累了总得放松一下吧.   又get到了一个新知识点,是关于3ds max的捕捉工具的,详情见3DS MAX 学习笔记 一(捕捉工具 ...

  2. 不学就吃亏的underscorejs类库学习示例 ——(集合篇)

    underscorejs是一个很不错的类库,我的很多项目都引用了这个类库,的确可以带来很多方便. 记得我当初学的时候,看underscorejs的api是看的一知半解的,甚至不明白api里的conte ...

  3. 3ds Max学习日记(一)

      暑假闲来无事学习一发3ds Max.为啥要学这玩意?貌似可以用这东西三维建模.暑期生产实习选了一个搞vr的导师,貌似他忙得很,无奈只好先自己研究一下啦~   vr神马的还是有点意思的,虽然自己仅仅 ...

  4. 3ds Max学习日记(十二)——用Maxscript将每一帧动画导出成obj

    参考链接: is there a way to through maxscript to make the time slider go to a spacific frame? 最近老师布置了要用m ...

  5. 3ds max学习笔记(六)-- 基本操作(建模前奏)

    1.界面设置 在3ds Max的版本的界面中,默认是较深.若需要切换至较亮的界面,步骤: 执行“自定义”菜单,选择“加载自定义用户界面方案”从弹出的界面中选择样式文件,单击“打开”即可: 注:“amg ...

  6. 3ds max 学习笔记(四)--创建物体

    添加物体: 1.初创建物体,从单视图进行创建,便于处于同一平面,在透视图观看效果.2.在基本对象处选择“长方体”:左键开始制作,松开左键此时控制的是长方形的高,然后点击左键完成:注:在max里点击右键 ...

  7. 3ds max学习笔记(二)--查看视点

    查看视点 文件 --打开 --指南文件--坦克(.max文件即可) 1.利用透视图(和眼睛看到的世界很相似)查看 2.alt+w :最大化显示(最大化视角切换按钮: ) 3.缩放视点:滚动鼠标滚轮;匀 ...

  8. 3ds Max学习日记(十)——显示场景资源管理器

      之前把max的对象窗口(场景资源管理器)给弄没了,搞了半天都不知道怎么调回来,百度搜索到的结果也不知道都是些啥玩意.不过好在最后还是弄出来了!   一开始是下面这样的,没有场景资源管理器用起来很不 ...

  9. 3ds Max学习日记(八)

      再来更新一波学习进度.   之前玩了一下3dsmax里的灯光,不过由于和教程里的版本不同,教程里的我的没有,我有的教程又没有,所以只能瞎jb玩一玩.   最近又想建个人物模型玩玩,于是上网搜一下有 ...

  10. 3ds Max学习日记(六)

      到了周六就不想再忙实验室的活了,于是玩了一下3ds max,第5和第6章每章都只有4个视频,于是就一起弄完了,什么网格建模,曲面建模啥的,nurbs啥的. 附上今日的劳动成果:   叉子(用长方体 ...

随机推荐

  1. POJ 3189 Steady Cow Assignment

    题意:每个奶牛对所有的牛棚有个排名(根据喜欢程度排的),每个牛棚能够入住的牛的数量有个上限,重新给牛分配牛棚,使牛棚在牛心中的排名差(所有牛中最大排名和最小排名之差)最小.   题目输入: 首先是两个 ...

  2. 2013年6月19日星期三java中函数地址值传递

    今天代码审核时确认了一个问题,理解了java中string和stringbuffer赋值问题,看到一个帖子很好,摘录如下: 理解这两个例子需要分清实参和形参的区别,引用和对象的区别 第一个例子的内部执 ...

  3. 【线段树】BAPC2014 E Excellent Engineers (Codeforces GYM 100526)

    题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show& ...

  4. 汇编学习笔记(3)[bx]和loop

    本文是<汇编语言>一书的学习笔记,对应书中的4-6章. 汇编程序的执行 要想将源代码变为可执行的程序需经过编译.连接两个步骤,WIN7操作系统下需要MASM程序来进行编译连接工作.将MAS ...

  5. selenium grid 测试资料

    像风一样自由的4篇博客: http://blog.csdn.net/five3/article/details/9671287 http://blog.csdn.net/five3/article/d ...

  6. OpenRisc-43-or1200的IF模块分析

    引言 “喂饱饥饿的CPU”,是计算机体系结构设计者时刻要考虑的问题.要解决这个问题,方法大体可分为两部分,第一就是利用principle of locality而引进的cache技术,缩短取指时间,第 ...

  7. angularJS promise $q

    Promise 一 介绍 1.什么是promise 我们知道JavaScript语言的执行环境是“单线程”,所谓单线程,就是一次只能够执行一个任务,如果有多个任务的话就要排队,前面一个任务完成后才可以 ...

  8. 【Java】Java8新增的Lambda表达式_学习笔记

    一.Lambda表达式可以简化创建匿名内部类对象 1.不需要new XXX(){}这种繁琐代码. 2.不需要指出重写的方法名. 3.不要给出重写的方法的返回值类型. 4.Lambda相当于一个匿名方法 ...

  9. C++重载解析

    重载解析(overloading resolution)的规则决定了编译器为一个函数调用选用哪个函数定义.一般过程如下: 将名称相同的函数/模板函数找到并创建候选列表 从中挑选参数数目正确,符合完全匹 ...

  10. [转] openjdk和jdk的区别与联系

    使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk,那么到底什么是openjdk,它与sun jdk有什么关系和区别呢? 历史上的 ...