前言
JavaScript 是一种弱类型语言,而且在 ES5 之前,也缺少很多常用的函数,比如 filter、forEach、map 等等。因此,很多开发者转而使用第三方库来实现这些常用的函数。在这方面,Underscore 库就是一个非常受欢迎的工具,它提供了大量的函数来简化 JavaScript 开发。
在 ES12 中,Underscore 库已经被集成进了 JavaScript 内置函数中,而且也增加了很多新的函数和特性。在这篇文章中,我们将会介绍 ES12 中 Underscore 库的新特性,并演示其使用方法和技巧。
新特性
_.
在 ES12 中,_ 变量已经被定义为全局变量,并且可以直接用来代替 Underscore 库的命名空间。因此,你可以使用 _ 变量来访问 Underscore 提供的所有函数。
_.each([1, 2, 3], function(num) { console.log(num); });
_.mapKeys()
_.mapKeys() 函数可以用来创建一个新的对象,这个对象使用原始对象的键调用指定的函数来获取新的键值。这个函数特别适用于将一些复杂的对象重构为简单的对象。
const object = { 'a': 1, 'b': 2 }; const result = _.mapKeys(object, function(value, key) { return key + value; }); console.log(result); // { 'a1': 1, 'b2': 2 }
_.partition()
_.partition() 函数可以将集合按照指定的条件分成两个数组。一个数组包含符合条件的元素,另一个数组包含不符合条件的元素。这个函数在处理数据时非常有用。
-- -------------------- ---- ------- ----- ----- - - - ------- --------- ------ --- --------- ----- -- - ------- ------- ------ --- --------- ---- -- - ------- ---------- ------ -- --------- ----- - -- ----- ------ - ------------------ ----------- - ------ --------- --- -------------------- -- -- - -- ------- ------- ------ --- --------- ---- --- -- ------- --------- ------ --- --------- ----- -- - ------- ---------- ------ -- --------- ----- -- -
_.flatMapDeep()
_.flatMapDeep() 函数可以将一个集合映射为一个扁平化的集合。这个函数在处理树形结构时非常有用。
const users = [ { 'user': 'barney', 'age': 36, 'pets': ['hoppy'] }, { 'user': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] } ]; const result = _.flatMapDeep(users, function(o) { return o.pets; }); console.log(result); // ['hoppy', 'baby puss', 'dino']
使用方法和技巧
_.each()
_.each() 函数可以遍历一个集合并对其中的每个元素执行指定的函数。这个函数在处理集合时非常有用。
_.each([1, 2, 3], function(num) { console.log(num); });
_.filter()
_.filter() 函数可以对集合中的元素进行过滤,并且返回符合指定条件的元素。这个函数在处理数据时非常有用。
-- -------------------- ---- ------- ----- ----- - - - ------- --------- ------ --- --------- ---- -- - ------- ------- ------ --- --------- ----- - -- ----- ------ - --------------- ----------- - ------ ---------- --- -------------------- -- -- ------- --- --------
_.map()
_.map() 函数可以对集合中的元素进行映射,并且返回一个新的集合。这个函数在处理数据时非常有用。
-- -------------------- ---- ------- ----- ----- - - - ------- -------- -- - ------- ------ - -- ----- ------ - ------------ ----------- - ------ ------ - ---- --- -------------------- -- -- ----------- --------
_.reduce()
_.reduce() 函数可以对集合中的元素进行归纳,并且返回归纳后的结果。这个函数在处理数据时非常有用。
const sum = _.reduce([1, 2, 3], function(sum, n) { return sum + n; }, 0); console.log(sum); // => 6
_.groupBy()
_.groupBy() 函数可以将集合按照指定条件分组,并且返回分组后的对象。这个函数在处理数据时非常有用。
-- -------------------- ---- ------- ----- ----- - - - ------- --------- ------ -- -- - ------- ------- ------ -- -- - ------- ---------- ------ - - -- ----- ------ - ---------------- ----------- - ------ ------ --- -------------------- -- -- - ---- -- ------- ---------- ------ - --- ----- -- ------- --------- ------ -- --- ----- -- ------- ------- ------ -- -- -
总结
Underscore 是一个非常实用的 JavaScript 库,在处理数据时非常有用。在 ES12 中,Underscore 已经被集成进了 JavaScript 内置函数中,并且也增加了很多新的函数和特性。希望这篇文章可以帮助你更好地了解和使用 Underscore 库,提高 JavaScript 开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/649e782348841e9894afb10c