Lodash 4.0.0 更新文档
v4.0.0
2016 年 1 月 12 日 — Diff — Docs
兼容性正告
专注于 npm,移除 Bower & Component 包支撑
摒弃对 IE 6-8 的支撑
令
_.forEach
,_.forIn
,_.forOwn
, &_.times
隐式完毕链式挪用行列var wrapped = _([1, 2, 3]); // 在 3.10.1 wrapped.forEach(function(n) { console.log(n); }); // → returns the lodash wrapper without logging until `value` is called // → 在 `value` 挪用之前返回 lodash 包装器(并不会打印纪录) wrapped.forEach(function(n) { console.log(n); }).value(); // → logs each value from left to right and returns the array // → 从左到右纪录每一个值,并返回该数组 // 在 4.0.0 wrapped.forEach(function(n) { console.log(n); }); // → logs each value from left to right and returns the array // → 从左到右纪录每一个值,并返回该数组
移除模块途径的分类名
// in 3.10.1 var chunk = require('lodash/array/chunk'); // in 4.0.0 var chunk = require('lodash/chunk');
移除
_.pluck
,运用_.map
迭代器简写替代var objects = [{ 'a': 1 }, { 'a': 2 }]; // in 3.10.1 _.pluck(objects, 'a'); // → [1, 2] _.map(objects, 'a'); // → [1, 2] // in 4.0.0 _.map(objects, 'a'); // → [1, 2]
大多数要领移除
thisArg
var objects = [{ 'a': 1 }, { 'a': 2 }]; var context = { 'b': 5 }; function callback(item) { return item.a + this.b; } // in 3.10.1 _.map(objects, callback, context); // in 4.0.0 _.map(objects, _.bind(callback, context));
将
_.max
&_.min
拆分红 _.maxBy & _.minByvar array = [1, 2, 3], objects = [{ 'a': 1 }, { 'a': 2 }]; // in 3.10.1 _.max(array); // → 3 _.max(objects, 'a'); // → { 'a': 2 } _.min(array); // → 1 _.min(objects, 'a'); // → { 'a': 1 } // in 4.0.0 _.max(array); // → 3 _.maxBy(objects, 'a'); // → { 'a': 2 } _.min(array); // → 1 _.minBy(objects, 'a'); // → { 'a': 1 }
移除要领
移除
_.support
移除
_.findWhere
,运用_.find
迭代器简写替代移除
_.where
,运用_.filter
迭代器简写替代移除
_.pluck
,运用_map
迭代器简写替代
要领名变动
_.first
更名为_.head
_.indexBy
更名为_.keyBy
_.invoke
更名为_.invokeMap
_.modArgs
更名为_.overArgs
_.padLeft
&_.padRight
更名为_padStart
&_.padEnd
_.pairs
更名为_.toPairs
_.rest
更名为_.tail
_.restParam
更名为_.rest
_.sortByOrder
更名为_.orderBy
_.trimLeft
&_.trimRight
更名为_.trimStart
&_.trimEnd
_.trunc
更名为_.truncate
拆分要领
从
_.indexOf
&_.lastIndexOf
拆分出_.sortedIndexOf
&_.sortedLastIndexOf
从
_.max
&_.min
拆分出_.maxBy
&_.minBy
从
_.omit
&_.pick
拆分出_.omitBy
&_.pickBy
从
_.sample
拆分出_.sampleSize
从
_.sortedIndex
拆分出_.sortedIndexBy
从
_.sortedLastIndex
拆分出_.sortedLastIndexBy
从
_.uniq
拆分出_.sortedUniq
,_.sortedUniqBy
, &_.uniqBy
将
_.sortByAll
并入_.sortBy
变动
_.at
的类别为 “Object”变动
_.bindAll
的类别为 Utility令 “By” 要领的迭代器只提供一个参数
令
_.capitalize
会转换第一个字符为大写 & 其他字符为小写令
_.functions
返回自有要领的要领名名令
_.words
默承认链式挪用_.clone
&_.flatten
移除isDeep
参数当未指定要领名时,移除
_.bindAll
绑定一切要领的支撑_.before
&_.after
移除func
-第一个参数前面
低风险兼容性正告
_.debounce
,_.mixin
, &_.throttle
移除布尔值options
参数支撑_.orderBy
移除布尔值orders
参数的支撑令
_.max
,_.min
, &_.sum
只支撑数组_.template
移除传统options
参数署名简化
_.escapeRegExp
,以向已住手的 ES7 提案对齐
显著的变动
4 kB (gzipped) core build (65 个要领; Backbone v1.2.4 compatible)
_.assignIn
,_.before
,_.bind
,_.chain
,_.clone
,_.compact
,_.concat
,
_.create
, _.defaults
, _.defer
, _.delay
, _.each
, _.escape
, _.every
,_.filter
, _.find
, _.first
, _.flatten
, _.flattenDeep
, _.forEach
,_.has
, _.head
, _.identity
, _.indexOf
, _.invokeMap
, _.isArguments
,_.isArray
, _.isBoolean
, _.isDate
, _.isEmpty
, _.isEqual
, _.isFinite
,_.isFunction
, _.isNaN
, _.isNull
, _.isNumber
, _.isObject
, _.isRegExp
,_.isString
, _.isUndefined
, _.iteratee
, _.keys
, _.last
, _.map
,_.max
, _.min
, _.mixin
, _.negate
, _.noConflict
, _.noop
, _.now
,_.once
, _.pick
, _.reduce
, _.result
, _.size
, _.slice
, _.some
,_.sortBy
, _.tap
, _.thru
, _.toArray
, _.uniqueId
, _.value
, & _.values
新增 80 个要领
23 个 array 要领:
_.concat, _.differenceBy, _.differenceWith, _.flatMap, _.fromPairs, _.intersectionBy,
_.intersectionWith, _.join, _.pullAll, _.pullAllBy, _.reverse, _.sortedIndexBy, _.sortedIndexOf,
_.sortedLastIndexBy, _.sortedLastIndexOf, _.sortedUniq, _.sortedUniqBy, _.unionBy,
_.unionWith, _.uniqBy, _.uniqWith, _.xorBy, & _.xorWith
18 个 lang 要领:
_.cloneDeepWith, _.cloneWith, _.eq, _.isArrayLike, _.isArrayLikeObject, _.isEqualWith, _.isInteger,
_.isLength, _.isMatchWith, _.isNil, _.isObjectLike, _.isSafeInteger, _.isSymbol, _.toInteger,
_.toLength, _.toNumber, _.toSafeInteger, & _.toString
13 个object :
_.assignIn, _.assignInWith, _.assignWith, _.functionsIn, _.hasIn, _.invoke, _.mergeWith,
_.omitBy, _.pickBy, _.setWith, _.toPairs, _.toPairsIn, & _.unset
8 个 string 要领:
_.lowerCase, _.lowerFirst, _.replace, _.split, _.upperCase, _.upperFirst, _.toLower, & _.toUpper
8 个 utility 要领:
_.cond, _.conforms, _.nthArg, _.over, _.overEvery, _.overSome, _.rangeRight, & _.toPath
4 个 math 要领:
2 个 function 要领:
2 个 number 要领:
1 个 chain 要领:
1 个 collection 要领:
增加 3 别号
_.extend
作为_.assignIn
的别号_.extendWith
作为_.assignInWith
的别号_.first
作为_.head
的别号
移除 17 个别号
_.all
,_.any
,_.backflow
,_.callback
,_.collect
,_.compose
,_.contains
,
_.detect
, _.foldl
, _.foldr
, _.include
, _.inject
, _.methods
, _.object
,_.#run
, _.select
, & _.unique
机能优化
开启
_.at
,_.find
&_.findLast
的疾速兼并机制优化婚配要领,防止假如
object
和source
相同时举行深度匍匐优化轮回援用搜刮
优化
_.isEqual
,防止当数组或对象具有差别长度时的客栈匍匐
支撑 Emoji
Added support for astral symbols, combining diacritical marks, dingbats,
regional indicator symbols, unicode modifiers, variation selectors, &
zero-width-joiners to string methods
功能性革新
增加 _.cond, _.conforms, _.flip, _.nthArg, _.over, _.overEvery, _.overSome, & _.unary
将
lodash-fp
移动到lodash
,运用require('lodash/fp')
作为不可变 iteratee-first data-last 要领
其他变动
为
_.memoize.Cache
增加clear
要领为防反跳函数和节流阀函数增加
flush
要领_.clone
,_.isEqual
, &_.toArray
支撑 ES6 映照、鸠合 & 标记_.isEqual
支撑数组缓存_.toArray
支撑转换迭代器_.zipObject
支撑深度途径Changed UMD to export to
window
orself
when available regardless of other exports_.flow
&_.flowRight
如今可以接收一个函数数组确保 “Collection” 要领能将函数视为对象
确保防反跳要领
cancel
可以消灭args
&thisArg
援用确保
_.add
,_.subtract
, &_.sum
不会跳过NaN
值确保
_.assign
,_.defaults
, &_.merge
强迫将object
值转换为对象确保运用
new
操作符挪用时_.bindKey
绑定的函数时挪用object[key]
确保
_.clone
可以将生成器视为函数确保
_.clone
可以依据源对象的[[Prototype]]
举行克隆确保
_.defaults
可以依据Object.prototype
分派属性确保
_.defaultsDeep
不能将字符串并入数组确保
_.defaultsDeep
&_.merge
不会修改源对象确保
_.defaultsDeep
可以轮回援用确保
_.isFunction
对生成器函数可以返回true
确保
_.keys
在 Safari 9 的严厉形式下将跳过 “length” 属性确保
_.merge
可以直接安排范例数组确保
_.merge
不能将字符串转换为数组确保
_.merge
可以将地道对象兼并到非地道对象中确保
_#plant
的克隆行列充值迭代器的数据确保
_.random
min
大于max
时交流min
&max
确保
_.range
preserves the sign ofstart
of-0
确保
_.reduce
&_.reduceRight
在数组分支中运用getIteratee
修改
_.floor
带precision
参数时四舍五入的题目使
_(...)
成为一个迭代器 & 可迭代的对象使
_.drop
,_.take
, & 从右迭代的要领强迫将n
由undefined
转换为0