Loadash 让你的代码更简单-数学/数字篇

1,201 阅读2分钟

文档:www.lodashjs.com/docs/lodash…

数学

_.add(augend, addend) 两数相加之和--未处理精度问题

_.add(6, 4); // => 10
_.add(6, -4); // => 2
_.add(0.1, 0.3); // => 3.0000000004 精度丢失

_.divide(dividend, divisor)两个数相除

_.divide(6, 4);
// => 1.5

_.ceil(number, [precision=0]) 向上取整,第二个参数表示保留几位小数(基于小数点的位置)

_.ceil(4.006);
// => 5
_.ceil(6.004, 2);
// => 6.01
_.ceil(6040, -2); 
// => 6100  第二个参数为负数时,基于小数点向左数几位
_.ceil(6.0333, -1); 
// => 10

_.floor(number, [precision=0])向下取整,第二个参数表示保留几位小数(基于小数点的位置)

_.floor(4.006);
// => 4

_.max(array) 返回数组中最大值,数组为空或者假值将会返回 undefined

_.max([4, 2, 8, 6]);
// => 8
_.max([])
// => undefined

_.maxBy(array, [iteratee=_.identity])类似_.max,通过迭代函数来遍历array,得到最大的值

_.mean(array) 返回值为该数组的平均数

_.mean([4, 2, 8, 6]);
// => 5

_.meanBy(array, [iteratee=_.identity])返回平均值

_.min(array)返回最小的值;若数组为空或假值,返回undefined

_.min([4, 2, 8, 6]);
// => 2
_.min([]);
// => undefined

_.minBy(array, [iteratee=_.identity])返回最小的值

_.multiply(multiplier, multiplicand) 两个数相乘, 返回乘积

_.multiply(6, 4);
// => 24

_.round(number, [precision=0])根据 precision(精度)四舍五入

_.round(4.006);
// => 4
_.round(4.006, 2);
// => 4.01
_.round(4060, -2);
// => 4100

_.subtract(minuend, subtrahend) 两数相减,返回

_.subtract(6, 4);
// => 2

_.sum(array) 返回array数组的总和

_.sum([4, 2, 8, 6]);
// => 20

_.sumBy(array, [iteratee=_.identity]) 通过迭代器调用array数组的每个元素,返回总和

数字

www.lodashjs.com/docs/lodash…

_.clamp(number, [lower], upper) 返回值为限制最大和最小值之间的值

var clamp = _.clamp(4, 3)
console.log(clamp, 'clamp'); // => 3 'clamp'
var clamp = _.clamp(-4, -3, 3)
console.log(clamp, 'clamp'); // => -3 'clamp'

_.inRange(number, [start=0], end)检查 n 是否在 start 与 end 之间,但不包括 end,是(true),否(false)。 end start 默认为0。 如果 start 大于 end,那么参数会交换以便支持负范围

var inRange = _.inRange(0, 2)  // => true
                       (0, 0, 2)
var inRange = _.inRange(2, 2)  // => false
                       (2, 0, 2)
var inRange = _.inRange(-2, -3)  // => true
                       (-2, -3, 0)

_.random([lower=0], [upper=1], [floating])生成一个包括 lower 与 upper 之间的随机数。 如果只提供一个参数,另一个参数边界默认为0。floating表示是否返回小数

_.random(0, 5); // 生成一个0-5之间的随机整数
_.random(5, true);// 生成一个0-5之间的随机数(包括小数)