underscorejs-min学习

2.16 min

2.16.1 语法:

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

2.16.2 说明:

返回list中的最小值。

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

2.16.3 代码示例:

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

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

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

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

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

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

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

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

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

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

2.16.4 list的特殊情况

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

2.16.5 取出个位数最小的数字(坑)

var array = [11121, 2312, 5, 313119];
var result = (function(){
    //写下你的代码
}(array));
console.log(result); //=> 11121
原文地址:https://www.cnblogs.com/kyo4311/p/5174659.html