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

前端開發(fā)必備,這些數(shù)據(jù)處理工具庫助你事半功倍!

開發(fā) 前端
本文將分享一些前端常用的數(shù)據(jù)處理工具庫,幫助大家更加高效地進行前端數(shù)據(jù)處理!

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

  • Ramda 強調(diào)更加純粹的函數(shù)式風格。數(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)
  • 支持鏈式操作 (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??稍诩褐惺褂谩?/li>
  • 緊湊. 它使用比 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ù)學庫。它具有支持符號計算的靈活表達式解析器,帶有大量內(nèi)置函數(shù)和常量,并提供了一個集成的解決方案來處理不同的數(shù)據(jù)類型,如數(shù)字、大數(shù)、復數(shù)、分數(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)系,并且在客戶端或服務器端都可以很好地工作。使用獨立或作為 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ù)以最小化應用程序構(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。
  • 默認情況下,所有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。

責任編輯:姜華 來源: 前端充電寶
相關(guān)推薦

2022-09-17 18:23:46

Lodash模塊化JavaScrip

2020-07-22 08:13:22

大數(shù)據(jù)

2022-07-13 09:01:17

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

2024-01-02 18:03:42

編程語言Python

2023-12-29 09:04:01

前端文件處理庫PDF.js

2021-12-02 09:36:23

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

2021-12-01 23:16:44

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

2018-12-17 09:00:00

大數(shù)據(jù)數(shù)據(jù)科學工具

2018-04-10 14:36:18

數(shù)據(jù)庫MySQL優(yōu)化技巧

2019-06-12 16:21:52

時間序列PythonPandas

2023-07-10 08:50:49

ESLint格式化工具

2015-03-02 16:48:40

數(shù)據(jù)處理大數(shù)據(jù)原則

2020-11-26 08:38:57

前端 js 庫vue

2022-01-21 19:00:44

前端JS框架

2023-09-04 13:26:27

PHP開發(fā)工具

2021-04-08 10:40:24

前端工具代碼

2025-03-11 14:09:04

2021-04-06 22:48:41

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

2024-11-26 09:50:18

AIjs 工具庫前端開發(fā)

2020-04-02 19:55:24

前端開發(fā)工具開發(fā)
點贊
收藏

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