自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

前端常用的數(shù)據(jù)處理工具庫,助力高效開發(fā)!

開發(fā) 前端
Lodash是一個一致性、模塊化、高性能、提高開發(fā)者效率的JavaScript 實用工具庫。Lodash 通過降低 array、number、objects、string 等等的使用難度從而讓 JavaScript 變得更簡單。

大家好,我是 CUGGZ,周末愉快呀!

今天來分享一些前端常用的數(shù)據(jù)處理工具庫,助力高效開發(fā)!

圖片

1. 工具庫

(1)Lodash

Lodash是一個一致性、模塊化、高性能、提高開發(fā)者效率的JavaScript 實用工具庫。Lodash 通過降低 array、number、objects、string 等等的使用難度從而讓 JavaScript 變得更簡單。Lodash 的模塊化方法,非常適用于:

  • 遍歷 array、object 和 string;
  • 對值進行操作和檢測;
  • 創(chuàng)建符合功能的函數(shù)。

圖片

Github:https://github.com/lodash/lodash

(2)Underscore.js

Underscore.js 是一個實用的 JavaScript 工具庫,它提供了一整套函數(shù)式編程的實用功能,但沒有擴展任何 JavaScript 內(nèi)置對象,而是將數(shù)據(jù)封裝在一個自定義對象中。

圖片

Github:https://github.com/jashkenas/underscore

(3)Ramda

Ramda 的目標(biāo)是專門為函數(shù)式編程風(fēng)格而設(shè)計,更容易創(chuàng)建函數(shù)式 pipeline、且從不改變用戶已有數(shù)據(jù)。Ramda 主要特性如下:

Ramda 強調(diào)更加純粹的函數(shù)式風(fēng)格。數(shù)據(jù)不變性和函數(shù)無副作用是其核心設(shè)計理念。這可以幫助你使用簡潔、優(yōu)雅的代碼來完成工作。

Ramda 函數(shù)本身都是自動柯里化的。這可以讓你在只提供部分參數(shù)的情況下,輕松地在已有函數(shù)的基礎(chǔ)上創(chuàng)建新函數(shù)。

Ramda 函數(shù)參數(shù)的排列順序更便于柯里化。要操作的數(shù)據(jù)通常在最后面。

圖片

Github:https://github.com/ramda/ramda

(4)Collect.js

collect.js是 JavaScript 處理數(shù)組和對象的方便且無依賴的包裝類工具。其提供了常用的數(shù)組和集合的操作API,map,reduce,filter 等集合的高級方法,設(shè)計靈感來源于 Laravel Collection。

圖片

Github:https://github.com/ecrmnn/collect.js/

2. 日期

(1)date-fns

date-fns 是一個現(xiàn)代的 JavaScript 日期工具類庫,提供了最全面、最簡單和一致的工具集,用于在瀏覽器和 Node.js 中操作 JavaScript 日期。其具有以下特性:

模塊化:根據(jù)需求選擇需要引用的模塊

不可變:date-fns 使用純函數(shù)構(gòu)建,并且始終返回一個新的日期實例,而不是更改傳遞的日期實例。它允許防止錯誤并跳過長時間的調(diào)試會話

可信賴:遵循語義版本,始終向后兼容

快速:輕量快速,為用戶提供最佳的使用體驗

TypeScript & Flow:date-fns 同時支持 Flow 和 TypeScript

import { format, formatDistance, formatRelative, subDays } from 'date-fns'

format(new Date(), "'Today is a' eeee")
//=> "Today is a Saturday"

formatDistance(subDays(new Date(), 3), new Date(), { addSuffix: true })
//=> "3 days ago"

formatRelative(subDays(new Date(), 3), new Date())
//=> "last Friday at 7:26 p.m."

Github:https://github.com/date-fns/date-fns

(2)Moment.js

Moment.js 是一個簡單易用的輕量級 JavaScript 日期處理類庫,提供了日期格式化、解析、驗證等功能。它支持在瀏覽器和 NodeJS 兩種環(huán)境中運行。此類庫能夠?qū)⒔o定的任意日期轉(zhuǎn)換成多種不同的格式,具有強大的日期計算功能,同時也內(nèi)置了能顯示多樣的日期形式的函數(shù)。

圖片

Github:https://github.com/moment/moment/

(3)Day.js

Day.js是一個極簡的JavaScript庫,可以為現(xiàn)代瀏覽器解析、驗證、操作和顯示日期和時間。其具有以下特點:

  • 和 Moment.js 相同的 API 和用法
  • 不可變數(shù)據(jù) (Immutable)
  • 支持鏈?zhǔn)讲僮?(Chainable)
  • 國際化 I18n
  • 僅 2kb 大小的微型庫
  • 全瀏覽器兼容
dayjs().format();                                     // 2020-09-08T13:42:32+08:00
dayjs().format('YYYY-MM-DD'); // 2020-09-08
dayjs().format('YYYY-MM-DD HH:mm:ss'); // 2020-09-08 13:47:12
dayjs(1318781876406).format('YYYY-MM-DD HH:mm:ss'); // 2011-10-17 00

Github:https://github.com/iamkun/dayjs/

3. 隨機值

(1)Chance.js

Chance 是一個輕量級的 JavaScript 隨機字符串生成器插件,可幫助減少編寫單調(diào)的代碼,特別是在編寫自動化測試時經(jīng)常需要各種隨機內(nèi)容??梢允褂盟鼇懋a(chǎn)生隨機數(shù)、字符、字符串、名字、地址、骰子等。

圖片

Github:https://github.com/chancejs/chancejs

(2)UUID

UUID 是一個用于在 JavaScript 中生成符合 RFC 的 UUID 的實用程序庫。其具有以下特點:

  • 完整:支持 RFC4122 版本 1、3、4 和 5 UUID
  • 跨平臺:支持CommonJS、ECMAScript 模塊和 CDN 構(gòu)建;Node 12, 14, 16, 18;Chrome、Safari、Firefox、Edge 瀏覽器;Webpack 和 rollup.js 模塊打包工具;
  • 安全:加密強度高的隨機值
  • 體積小:零依賴,占用空間小
  • CLI:包括 uuid 命令行實用程序

圖片

Github:https://github.com/uuidjs/uuid

(3)Nano ID

nanoid 是一個小巧、安全、URL友好、唯一的 JavaScript 字符串ID生成器。其具有以下特性:

  • 小巧.130 bytes (已壓縮和 gzipped)。沒有依賴。Size Limit 控制大小。
  • 快速.它比 UUID 快 60%。
  • 安全.它使用加密的強隨機 API。可在集群中使用。
  • 緊湊.它使用比 UUID(A-Za-z0-9_-)更大的字母表。因此,ID 大小從36個符號減少到21個符號。
  • 易用.Nano ID 已被移植到 20種編程語言。
import { nanoid } from 'nanoid'
model.id = nanoid() //=> "V1StGXR8_Z5jdHi6B-myT"

Github:https://github.com/ai/nanoid

4. 數(shù)字

(1)Math.js

Math.js 是一個強大的 JavaScript 和 Node.js 數(shù)學(xué)庫。它具有支持符號計算的靈活表達(dá)式解析器,帶有大量內(nèi)置函數(shù)和常量,并提供了一個集成的解決方案來處理不同的數(shù)據(jù)類型,如數(shù)字、大數(shù)、復(fù)數(shù)、分?jǐn)?shù)、單位和矩陣。功能強大且易于使用。

圖片

Github:https://github.com/josdejong/mathjs

(2)Numeral.js

Numeral.js 是一個用來對數(shù)值進行操作和格式化的 JS 庫。可將數(shù)字格式化為貨幣、百分比、時間,甚至是序數(shù)詞的縮寫(比如1st,100th)。

圖片

Github:https://github.com/adamwdraper/Numeral-js

(3)Accounting.js

Accounting.js 是一個用于數(shù)字、貨幣和貨幣解析/格式化的小型 JavaScript 庫。它是輕量級的,完全可本地化的,沒有依賴關(guān)系,并且在客戶端或服務(wù)器端都可以很好地工作。使用獨立或作為 nodeJS/npm 和 AMD/requireJS 模塊。

// Default usage:
accounting.formatMoney(12345678); // $12,345,678.00

// European formatting (custom symbol and separators), can also use options object as second parameter:
accounting.formatMoney(4999.99, "€", 2, ".", ","); // €4.999,99

// Negative values can be formatted nicely:
accounting.formatMoney(-500000, "£ ", 0); //-500,000

// Simple `format` string allows control of symbol position (%v = value, %s = symbol):
accounting.formatMoney(5318008, { symbol: "GBP", format: "%v %s" }); // 5,318,008.00 GBP

Github:https://github.com/openexchangerates/accounting.js

5. 字符串

(1)qs

qs是一個url參數(shù)轉(zhuǎn)化(parse和stringify)的JavaScript庫??梢园迅袷交淖址D(zhuǎn)換為對象格式。

var qs = require('qs');
var assert = require('assert');

var obj = qs.parse('a=c');
assert.deepEqual(obj, { a: 'c' });

var str = qs.stringify(obj);
assert.equal(str, 'a=c');

Github:https://github.com/ljharb/qs

(2)Voca

Voca 是一個用于操作字符串的 JavaScript 庫。Voca 庫提供了有用的函數(shù)來使字符串操作更加舒適:更改大小寫、修剪、填充、slugify、拉丁化、sprintfy、截斷、轉(zhuǎn)義等。模塊化設(shè)計允許加載整個庫或單個函數(shù)以最小化應(yīng)用程序構(gòu)建。該庫經(jīng)過全面測試、有據(jù)可查并長期受支持。

v.camelCase('bird flight');              // => 'birdFlight'
v.sprintf('%s costs $%.2f', 'Tea', 1.5); // => 'Tea costs $1.50'
v.slugify('What a wonderful world'); // => 'what-a-wonderful-world'

Github:https://github.com/panzerdp/voca

6. Cookie

(1)js-cookie.js

js-cookie.js 是一個用于處理瀏覽器 cookie 的簡單、輕量級 JavaScript API。其具有以下特點:

  • 適用于所有瀏覽器
  • 接受任何字符
  • 經(jīng)過大量測試
  • 無依賴
  • 支持ES模塊
  • 支持 AMD/CommonJS
  • 符合RFC 6265
  • 有用的維基
  • 啟用自定義編碼/解碼
  • < 800 字節(jié)壓縮!

圖片

Github:https://github.com/js-cookie/js-cookie

(2)Cookies

Cookies 是一個用于獲取和設(shè)置 HTTP(S) cookie的node.js模塊。它的特點如下:

  • 允許使用Keygrip來簽署cookie,以防止篡改;
  • 延遲驗證cookie,以降低成本;
  • 不允許通過不安全的套接字發(fā)送安全cookies;
  • 默認(rèn)情況下,所有cookie都僅適用于HTTP,并且通過SSL發(fā)送的cookie是安全的;
  • 允許其他庫在不知道簽名機制的情況下訪問 cookie。
var http = require('http')
var Cookies = require('cookies')

// Optionally define keys to sign cookie values
// to prevent client tampering
var keys = ['keyboard cat']

var server = http.createServer(function (req, res) {
// Create a cookies object
var cookies = new Cookies(req, res, { keys: keys })

// Get a cookie
var lastVisit = cookies.get('LastVisit', { signed: true })

// Set the cookie to a value
cookies.set('LastVisit', new Date().toISOString(), { signed: true })

if (!lastVisit) {
res.setHeader('Content-Type', 'text/plain')
res.end('Welcome, first time visitor!')
} else {
res.setHeader('Content-Type', 'text/plain')
res.end('Welcome back! Nothing much changed since your last visit at ' + lastVisit + '.')
}
})

server.listen(3000, function () {
console.log('Visit us at http://127.0.0.1:3000/ !')
})

GitHub:https://github.com/pillarjs/cookies

7. 安全

(1)DOMPurify

DOMPurify 是一個開源的基于DOM的快速XSS凈化工具。輸入HTML元素,然后通過DOM解析遞歸元素節(jié)點,進行凈化,輸出安全的HTML。

圖片

Github:https://github.com/cure53/DOMPurify

責(zé)任編輯:武曉燕 來源: 前端充電寶
相關(guān)推薦

2023-03-30 10:22:42

數(shù)據(jù)處理前端

2020-07-22 08:13:22

大數(shù)據(jù)

2021-12-02 09:36:23

大數(shù)據(jù)工具數(shù)據(jù)分析

2021-12-01 23:16:44

工具數(shù)據(jù)處理

2009-09-14 13:57:37

SQLite數(shù)據(jù)庫開發(fā)

2022-11-15 15:14:05

2022-05-07 09:02:27

數(shù)據(jù)可視化工具庫

2021-01-04 14:41:28

開發(fā)前端工具

2020-11-26 08:38:57

前端 js 庫vue

2022-01-21 19:00:44

前端JS框架

2025-02-05 08:13:48

Go語言范式

2023-10-05 12:43:48

數(shù)據(jù)處理

2022-07-13 09:01:17

前端開發(fā)文件處理庫

2021-03-16 10:12:24

python內(nèi)置函數(shù)

2018-06-06 15:08:57

前端開發(fā)工具

2023-10-26 01:26:04

Vaex數(shù)據(jù)數(shù)據(jù)集

2021-04-06 22:48:41

數(shù)據(jù)集工具Python

2023-08-25 15:13:16

大數(shù)據(jù)云計算

2023-12-29 09:04:01

前端文件處理庫PDF.js

2016-10-17 13:56:48

大數(shù)據(jù)大數(shù)據(jù)分析
點贊
收藏

51CTO技術(shù)棧公眾號