分享幾個javascript實用函數

2021-01-08 i互聯時代

從本文開始小編將定期發布javascript相關的代碼集錦,每次發十個與大家分享,首先是數組篇,也許有人會說,可以用常用的lodash的等庫啊。但是小編覺得,去讀lodash源碼的人並不多吧,所以分享的代碼集錦權當一種學習了,首先開始的是數組篇,基於es6 規範

all

allEqual

找出數組中滿足篩洗條件中的所有元素.

any

// 找出數組中滿足篩洗條件中的所有元素.

// 使用Array.prototype.every()檢查數組的所有元素是否與第一個元素相同。

// 使用嚴格比較運算符比較數組中的元素,該運算符不考慮NaN自不等式。

arrayToCSV

// 將2D數組轉換為逗號分隔值(CSV)字符串。

// 使用Array.prototype.map()和Array.prototype.join(delimiter)

// 將各個1D數組(行)組合成字符串。使用Array.prototype.join('\ n')

// 將所有行組合成CSV字符串,分隔 每行都有一個換行符。省略第二個參數delimiter,使用默認的分隔符。

bifurcate

// 將值拆分為兩組。如果過濾器中的元素是有值,則集合中的對應元素屬於第一組;

// 否則,它屬於第二組。

// 使用Array.prototype.reduce()和Array.prototype.push()根據過濾器向組添加元素。

bifurcateBy

// 根據回調函數將值拆分為兩個組,回調函數指定輸入集合中的元素屬於哪個組。

// 如果回調函數返回真值,則集合元素屬於第一個組; 否則,它屬於第二組。

// 使用Array.prototype.reduce()和Array.prototype.push()

// 根據fn為每個元素返回的值向組添加元素。

chunk

/**

* chunk 分塊

* 將數組塊化為指定大小的較小數組。

* 使用Array.from()創建一個新數組,該數組符合將要生成的塊數。

* 使用Array.prototype.slice()將新數組的每個元素映射到一個大小的長度的塊。

* 如果是原始的 數組不能均勻分割,最後的chunk將包含剩餘的元素。

*/

compact

/**

* compact

* 從數組中刪除可為false的值。

* 使用Array.prototype.filter()過濾掉falsey值(false,null,0,「」,undefined和NaN)。

* */

countBy

/**

* countBy

* 根據給定的函數對數組的元素進行分組,並返回每個組中元素的數量。

* 使用Array.prototype.map()將數組的值映射到函數或屬性名稱。

* 使用Array.prototype.reduce()創建一個對象,其中鍵是從映射結果生成的。

*/

本次10個js常用函數算法集錦,就到此為止,大家慢慢消化,下次再見!

相關焦點

  • 七天學會javascript第一天javascript介紹
    javascript介紹javascript數據類型javascript運算符javascript對象javascript Date對象javascript String對象JavaScript常用於實現一些前端效果。前些年流行的flash已經慢慢的被淘汰,js盛行起來。javascript :客戶端編程。javascript是由客戶端去解釋運行的。
  • JavaScript - Math對象
    :1.Math.round() 四捨五入舉個小例子:<script type = 「text/javascript」>alert( Math.round( 3.4 ) );</script>運行結果如下如果改為3.5的話<script type = 「text
  • 來一輪帶注釋的demo,徹底搞懂javascript中的replace函數
    javascript這門語言一直就像一位帶著面紗的美女,總是看不清,摸不透,一直專注伺服器端,也從來沒有特別重視過,直到最近幾年,javascript越來越重要,越來越通用。最近和前端走的比較近,藉此機會,好好鞏固一下相關知識點。
  • 從setTimeout(fn,0)函數剖析JavaScript的執行機制
    在zepto源碼中,$fn對象的ready函數有一句setTimeout(fn,0)的函數,如下圖所示:setTimeout(fn,time)作為一個延時函數,在很多時候都會使用,而time是相應的延時時間;如果time為0時,按道理說就要不延時而立即執行了,那為什麼需要特意將fn套在setTimeout裡面而不直接正常執行呢
  • JavaScript入門教程
    起源javascript前身叫做livescript,sun公司推出java,netspace公司引進java的概念,重新設計livescript,並更名javascript。發明者,布蘭登.艾克,表單驗證原先要經過伺服器,伺服器壓力大,等待時間長,js僅在客戶端就可完成。是什麼是一種腳本語言,是一種輕量級的程式語言。
  • 50個實用的JavaScript工具
    它提供了Ajax函數和動態效果。  圖像處理  Reflection.js  是一個能夠給圖片加倒影效果的JavaScript庫。  JavaScript Diagram Builder  是一個跨瀏覽器的javascript庫,他可以幫助你創建坐標圖或圖表的,你只需要引用
  • 第五篇:JavaScript事件處理
    庫的網頁代碼(案例代碼見unit12\case1.html):<html><head><title>JavaScript開發案例</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript
  • 一天一點JavaScript編程知識:Animation動畫
    setTimeout(function,duration) - 此函數從現在起持續幾毫秒後調用函數。setInterval(function,duration) - 該函數在每個持續時間毫秒後調用函數。clearTimeout(setTimeout_variable) - 此函數調用清除setTimeout()函數設置的任何計時器。
  • 高階函數不會用?教你JS中最實用的幾個高階函數用法
    這種預置函數也是js中巧妙的裝飾者模式的實現,裝飾者模式在實際開發中也非常有用,再以後的歲月裡我也會好好研究之後分享給大家的。,可以說一石二鳥啊,既把函數當做參數傳遞了,又把函數當返回值輸出了。單例模式也是一種非常實用的設計模式,在以後的文章中也會針對這些設計模式去分析的,敬請期待,哈哈,下面再看看高階函數還有哪些用途。其他應用函數柯裡化柯裡化又稱部分求值,柯裡化函數會接收一些參數,然後不會立即求值,而是繼續返回一個新函數,將傳入的參數通過閉包的形式保存,等到被真正求值的時候,再一次性把所有傳入的參數進行求值。
  • AJAXRPC: javascript調用服務端方法
    注意:在調用RPC方法時,如果沒有傳遞迴調函數,則是同步調用;如果傳遞迴調函數,則是異步調用。 同步調用 <script type="text/javascript">......try{ var obj = Test.sayHello('world!')
  • Javascript去除字符串中的點或其他符號
    在前端上使用javascript進行操作的。測試了兩次沒有好用,程序直接把整個字符串都進行了替換,在考慮這個是為什麼呢?javascript(請忽略此配圖)示例var ip = data.field.ip.replace(/.
  • 分享幾個魔獸世界實用宏,值得收藏!
    玩過魔獸世界的玩家都多多少少用過或者聽說過宏命令,一個宏命令可以包含一連串的操作,大大節省了我們的時間和精力,是非常方便的一種操作,接下來小編就給大家介紹幾個在魔獸世界中比較實用的宏命令。先教大家怎麼製作宏命令吧:首先進入遊戲中之後,我們按ESC鍵,會有一個菜單,我們會看到中間有一個選項叫做宏命令設置,點擊進入之後,會出現這樣的界面:
  • JavaScript函數 - 練習
    1.判斷一個函數是不是閏年分析:參數是年份,返回值是閏年function leapYear(year){if(year % 400 == 0 || year % 4 == 0 && year % 100 !
  • Excel技巧:5個極度燒腦,但極其實用的Excel函數公式!
    今天和大家分享的幾條函數公式,一個比一個燒腦,但又非常實用。因為燒腦,所以計算原理和過程我們就不解釋了。因為實用,所以建議大家收藏,用到的時候可以直接拿去套用。具體操作如下:1、文本格式的時間轉換,燒腦指數★如下圖所示,將A列的文本時間轉換成分鐘。
  • 程式設計師必須掌握的 12 個 JavaScript 技能!
    本文將與大家分享 12 個實用的 JavaScript 技能,未來我也將在 Github 的 JS Tips&Tidbits 倉庫(https://github.com/nas5w/javascript-tips-and-tidbits)中持續更新此概念列表。
  • 【第1162期】2018 要學習的優秀 JavaScript 庫與知識
    前言關於2017年回顧的文章,也曾分享過幾篇了,當看到這篇的時候想去找找看在2017年初的時候有沒分享過2017值得學習的庫,可惜翻看了只有講到前端工具的趨勢
  • 第二篇:輕鬆掌握JS函數
    <html><head><title>JavaScript開發案例</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript"> function add(){
  • VB 實用函數集
    正在閱讀:VB 實用函數集VB 實用函數集2005-06-21 10:14出處:PConline作者:XiaoFaye責任編輯:moningfeng Time返回系統時鐘的當前時間。Date返回系統時鐘的當前日期。
  • 什麼是JavaScript對象?如何創建並引用?這就告訴你!
    因為對象能幫我們解決一些複雜的問題一、對象概述在JavaScript 中的所有事物都是對象:字符串(new String)、布爾(new Boolean())、數值(Number)、數組(Array)、函數(Function)等。1.1 什麼是類類:就是具有相同的屬性和方法的集合。人類,動物類,家電類等。
  • 分享幾個蘋果手機的實用設置,可以有效節省蘋果手機的電量
    打開APP 分享幾個蘋果手機的實用設置,可以有效節省蘋果手機的電量 李倩 發表於 2018-04-19 15:24:26 那麼今天,我就來給你們分享幾個蘋果手機的實用設置,可以有效節省蘋果手機的電量。