lodash是js集Array/Object/String/Function的Util于一身。
lodash打包了Array/Object/String/Function里一些Api,好处是连ES6的也打包了,所以让你想在ES5环境下使用诸如Array#reduce#includes#some#every等时可以借lodash来帮忙
lodash可以让代码更简短,以下列几个最频繁使用的方法:
_.range(10) //生成元素为0到9的数组
_.times(10, (i)=>console.log(i)) //循环10次
_.uniqueId() //生成不同的id,用于元素中的id值再好不过
_.startWith //判断字符串是否以xx开头
_.endWith //判断字符串是否以xx结尾
_.truncat //截取指定长度后加… 用于处理标题过长再好不过
_.template //es6有字符串模板的语法,而lodash是es5的替代方案
_.assign //合并,es6有Object.assign,类似于jQuery.extend
_.assignIn //lodash里很多方法带In的都是可枚举原型链上的属性
_.defaults //安全合并,即忽略undefined/null的重写
_.findKey //根据value的属性值找key
.mapKeys //遍历重写key, 相当于.forIn
.mapValues //遍历重写value , 相当于.forIn
_.invert //反转映射,快速通过value值找key
_.omit //返回移除部分属性的副本,比如提交表单时有些字段不要提交
_.pick //与omit相反,提取部分属性的副本,比如只提交某些字段
_. clamp //确认所给值只在min,max之间
_.max //最大
_.min //最小
_.sum //求和
_.random //生成随机数
_.round //四舍五入,允许指定精确位数
_.isNumber
_.isInterger
_.isFunction
_.isPlainObject
_.isArray
_.isDate
_.isElement
_.isNil //null or undefined
_.isEmpty //{} or 空数组
_.isEqual //支持对象和数组
_.isMatch //匹配对象属性值
_.cloneDeep //深度复制
_.clone //浅复制
_.once //只执行一次
_.before //最多n-1次
_.after //n次后执行
_.debounce //忽略频繁执行
_.union //合并两数组,去重
_.uniq //去重
_.pull(array,element1,element2) 直接在array中移除元素,
_.without(array,element1,element2) 得到新array中移除元素
_.remove(array, function) 直接在array移除在function返回true的元素
_.sameple(array) 随机取1
_.samepleSize(array, int) 随机取n
_.shuffle(array) 乱序, jQuery.shuffle
_.find(array, function | object) 根据function返回值和对象查找1个结果
_.filter(array, function | object) 根据function返回值和对象查找多个结果
_.groupBy(array, string) 分组,与多合一相反
_.keyBy(array, string) 分组,类似groupBy, 但只有唯一值
_.countBy(array, string) 分组统计
_.orderBy(array, array, array)
_.sortBy(array, array)
_.difference(array1,array2) 找不同于array2,元素是Object用differenceBy
_.xor(array1,array2) 得到非交集,元素是Object用xorBy
_.intersection(array1,array2) 得到交集,元素是Object用intersectionBy
网友评论