mstf-kit
Version:
一个现代化的 JavaScript/TypeScript 工具库,提供了丰富的常用工具函数
2 lines (1 loc) • 670 B
JavaScript
;function t(t){const e=[...t];for(let r=e.length-1;r>0;r--){const t=Math.floor(Math.random()*(r+1));[e[r],e[t]]=[e[t],e[r]]}return e}Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),exports.closest=function(t,e){return t.reduce(((t,r)=>Math.abs(r-e)<Math.abs(t-e)?r:t))},exports.flatten=function(t,e=1/0){return t.flat(e)},exports.groupBy=function(t,e){return t.reduce(((t,r)=>{const n="function"==typeof e?e(r):r[e];return(t[n]=t[n]||[]).push(r),t}),{})},exports.sample=function(e,r=1){return 1===r?e[Math.floor(Math.random()*e.length)]:t(e.slice()).slice(0,r)},exports.shuffle=t,exports.unique=function(t){return Array.from(new Set(t))};