bbo是不同于常见的工具库的,诸如lodash、underscore、lazy.js等。它的特点就是:高频使用。
简介
bbo项目整理了日常开发中最常用的功能。这些功能在您的开发中几乎无处不在,并且在主流的函数工具库中找不到。
大多数代码来自于stackoverflow.com 网站中的高分答案(在此,向原始作者表示you’zhong敬意)。项目在 gzip 压缩下只有 7K, 所以你可以随时随地使用。
API概览
这里给大家贴一张函数功能清单。
图片通过方法名能直接意会出函数的功能。函数的分类也很清楚明了。认真核对了下,90%+的函数都在平时工作中经常用到。
安装和使用
使用 npm 安装
1 | npm install bbo --save |
直接将 js 引入到浏览器中
国内用户可以直接使用此cdn
1 | <script src="https://mat1.gtimg.com/www/js/libs/bbo.min.js" /> |
或者下载到本地再引入。
1 | <script src="bbo.min.js" type="text/javascript"></script> |
这里给大家举几个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | bbo.numberFormat(1234.56, 2, ',', ' '); // => '1 234,56'; bbo.split([1, 2, 3, 4, 5], 2); // => [[1,2], [3,4], [5]] bbo.entries({ c: 8, a: 4 }); // => [['c', 8], ['a', 4]] bbo.get({ a: { aa: { aaa: 2 } }, b: 4 }, "a.aa.aaa"); // => 2 bbo.union([1, 2, 3], [4, 3, 2]); // => [1, 2, 3, 4] bbo.intersect([1, 2, 3], [4, 3, 2]); // => [2, 3] bbo.unionBy([2.1], [1.2, 2.3], Math.floor); // [2.1, 1.2] bbo.mapValues({ a: 3, b: 5, c: 9 }, (value) => value + 1); //=> {a: 4, b: 6, c: 10} bbo.compact([0, 1, false, 2, "", 3]); // [1, 2, 3] bbo.flush({a: 2, b: null, c: 4, d: undefined}); // => {a: 2, c: 4} bbo.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); // => [1] bbo.search("3", { a: 3, b: 5, c: 7 }); // => 'a' bbo.size({ a: 1, b: 2 }); // => 2 var users = [ { user: "barney", age: 36, active: true }, { user: "fred", age: 40, active: false }, ]; bbo.find(users, { age: 1, active: true }); // => {"active": true, "age": 36, "user": "barney"} bbo.findIndex(users, ["active", false]); // => 1 |
再来看看链式调用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | var array1 = [1, 2, 3, null]; var array2 = [3, 4, 5, '']; var object1 = { a: 6, b: 7 }; var object2 = { c: 8, d: 9 }; bbo .chain(object1) .extend(object2) // => {a: 6, b: 7, c: 8, d: 9} .entries() // => [["a", 6], ["b", 7], ["c", 8], ["d", 9]] .thru((words) => { const temp = []; bbo.forEach(words, (item, index) => { temp.push(item[1]); }); return temp; }) // => [6, 7, 8, 9] .union(array1) // => [6, 7, 8, 9, 1, 2, 3, null] .union(array2) // => [6, 7, 8, 9, 1, 2, 3, null, 4, 5, ""] .compact() // => [6, 7, 8, 9, 1, 2, 3, 4, 5] .thru((array) => { return array.sort(); }) // => [1, 2, 3, 4, 5, 6, 7, 8, 9] .value(); // return => [1, 2, 3, 4, 5, 6, 7, 8, 9] |
更多的函数功能和例子,大家可以参阅下面的链接。
官方地址
https://tnfe.github.io/bbo/
原文链接:https://xiaohost.com/11629.html,转载请注明出处。