Lodash 4.0.0 更新文档

Lodash 4.0.0 更新文档

v4.0.0

2016 年 1 月 12 日DiffDocs

兼容性正告
  • 专注于 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 & _.minBy

    var 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

_.intersectionWith, _.join, _.pullAll, _.pullAllBy, _.reverse, _.sortedIndexBy, _.sortedIndexOf,
_.sortedLastIndexBy, _.sortedLastIndexOf, _.sortedUniq, _.sortedUniqBy, _.unionBy,
_.unionWith, _.uniqBy, _.uniqWith, _.xorBy, & _.xorWith

_.isLength, _.isMatchWith, _.isNil, _.isObjectLike, _.isSafeInteger, _.isSymbol, _.toInteger,
_.toLength, _.toNumber, _.toSafeInteger, & _.toString

_.omitBy, _.pickBy, _.setWith, _.toPairs, _.toPairsIn, & _.unset

    • 增加 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 的疾速兼并机制

      • 优化婚配要领,防止假如 objectsource 相同时举行深度匍匐

      • 优化轮回援用搜刮

      • 优化 _.isEqual,防止当数组或对象具有差别长度时的客栈匍匐

    • 支撑 Emoji

      • Added support for astral symbols, combining diacritical marks, dingbats,
        regional indicator symbols, unicode modifiers, variation selectors, &

      zero-width-joiners to string methods

    • 功能性革新

    其他变动
    • _.memoize.Cache 增加 clear 要领

    • 为防反跳函数和节流阀函数增加 flush 要领

    • _.clone, _.isEqual, & _.toArray 支撑 ES6 映照、鸠合 & 标记

    • _.isEqual 支撑数组缓存

    • _.toArray 支撑转换迭代器

    • _.zipObject 支撑深度途径

    • Changed UMD to export to window or self 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 of start of -0

    • 确保 _.reduce & _.reduceRight 在数组分支中运用 getIteratee

    • 修改 _.floorprecision 参数时四舍五入的题目

    • 使 _(...) 成为一个迭代器 & 可迭代的对象

    • 使 _.drop, _.take, & 从右迭代的要领强迫将 nundefined 转换为 0

        原文作者:PeckZeg
        原文地址: https://segmentfault.com/a/1190000004305586
        本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
    点赞