成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

這個開源項目絕了!30秒就能理解的JavaScript優秀代碼

開發 前端
今天要和大家分享一個項目,里面精心收集了大量有用的JavaScript代碼片段,讓你能夠在極短的時間內可以理解使用它們,分為日期、節點、功能模塊等部分,你可以直接將文件的這些代碼直接導入到你的的文本編輯器(VSCode,Atom,Sublime)。

[[394653]]

今天要和大家分享一個項目,里面精心收集了大量有用的JavaScript代碼片段,讓你能夠在極短的時間內可以理解使用它們,分為日期、節點、功能模塊等部分,你可以直接將文件的這些代碼直接導入到你的的文本編輯器(VSCode,Atom,Sublime)。

這個項目在Github上十分受歡迎,目前標星 71.3K,累計分支 7.9K(Github地址:https://github.com/30-seconds/30-seconds-of-code)

下面還是一起來看看這個項目里都有哪些代碼段吧:

數組:arrayMax

返回數組中的最大值。將Math.max()與擴展運算符 (...) 結合使用以獲取數組中的最大值。

  1. const arrayMin = arr => Math.min(...arr); 
  2. // arrayMin([10, 1, 5]) -> 1 

瀏覽器:bottomVisible

如果頁的底部可見, 則返回true, 否則為false。使用scrollY、scrollHeight和clientHeight來確定頁面底部是否可見。

  1. const bottomVisible = () => 
  2. document.documentElement.clientHeight + window.scrollY >= document.documentElement.scrollHeight || document.documentElement.clientHeight; 
  3. // bottomVisible() -> true 

日期:getDaysDiffBetweenDates

返回兩個日期之間的差異 (以天為值)。計算Date對象之間的差異 (以天為值)。

  1. const getDaysDiffBetweenDates = (dateInitial, dateFinal) => (dateFinal - dateInitial) / (1000 * 3600 * 24); 
  2. // getDaysDiffBetweenDates(new Date("2017-12-13"), new Date("2017-12-22")) -> 9 

函數:chainAsync

鏈異步函數,循環遍歷包含異步事件的函數數組, 當每個異步事件完成時調用next。

  1. const chainAsync = fns => { let curr = 0; const next = () => fns[curr++](next); next(); }; 
  2. /* 
  3. chainAsync([ 
  4.   next => { console.log('0 seconds'); setTimeout(next, 1000); }, 
  5.   next => { console.log('1 second');  setTimeout(next, 1000); }, 
  6.   next => { console.log('2 seconds'); } 
  7. ]) 
  8. */ 

數學:arrayAverage

返回數字數組的平均值。使用Array.reduce()將每個值添加到累加器中, 并以0的值初始化, 除以數組的length。

  1. const arrayAverage = arr => arr.reduce((acc, val) => acc + val, 0) / arr.length; 
  2. // arrayAverage([1,2,3]) -> 2 

節點:JSONToFile

將 JSON 對象寫入文件。使用fs.writeFile()、模板文本和JSON.stringify()將json對象寫入.json文件。

  1. const fs = require('fs'); 
  2. const JSONToFile = (obj, filename) => fs.writeFile(`${filename}.json`, JSON.stringify(obj, null, 2)) 
  3. // JSONToFile({test: "is passed"}, 'testJsonFile') -> writes the object to 'testJsonFile.json' 

對象:cleanObj

移除從 JSON 對象指定的屬性之外的任何特性。使用Object.keys()方法可以遍歷給定的 json 對象并刪除在給定數組中不是included 的鍵。另外, 如果給它一個特殊的鍵 (childIndicator), 它將在里面深入搜索, 并將函數應用于內部對象。

  1. const cleanObj = (obj, keysToKeep = [], childIndicator) => { 
  2. Object.keys(obj).forEach(key => { 
  3. if (key === childIndicator) { 
  4. cleanObj(obj[key], keysToKeep, childIndicator); 
  5. else if (!keysToKeep.includes(key)) { 
  6. delete obj[key]; 
  7. }) 
  8. /* 
  9.   const testObj = {a: 1, b: 2, children: {a: 1, b: 2}} 
  10.   cleanObj(testObj, ["a"],"children"
  11.   console.log(testObj)// { a: 1, children : { a: 1}} 

 

以上舉的這些示例還只是冰山一角,如果你對這個項目感興趣就趕緊馬克起來。

 

責任編輯:武曉燕 來源: 開源最前線
相關推薦

2021-03-19 09:53:28

Python 開發編程語言

2021-03-29 10:37:35

開源技術 開發

2020-01-23 15:47:15

編程語言PythonJava

2017-12-14 17:14:32

GithubJavaScript程序員

2024-06-24 03:00:00

2017-12-25 11:15:06

JavaArray數組

2020-03-30 15:20:56

Java開發代碼

2021-08-07 10:27:52

JVM開源項目

2019-11-13 09:01:48

開源JavaScript模板引擎

2020-07-06 13:30:31

前端開發技術

2023-05-16 08:47:39

2019-10-10 16:49:18

Python鏡音雙子腳本語言

2025-01-16 08:50:33

2021-01-18 10:33:14

后端開源接口

2025-01-13 07:10:00

diagrams畫圖工具draw.io

2021-12-12 18:38:31

visio畫圖工具

2023-12-08 13:40:24

HbaseMySQL數據庫

2023-06-01 08:15:55

2025-03-10 11:30:00

開源前端開發

2020-08-20 08:39:54

CTO代碼數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美在线一区 | 二区精品 | 欧美日产国产成人免费图片 | 日本不卡在线观看 | 拍拍无遮挡人做人爱视频免费观看 | 亚洲综合区 | 久久久久久久久99精品 | 91精品久久久久久久久 | 大吊一区二区 | 亚洲乱码一区二区三区在线观看 | 午夜男人免费视频 | 欧美激情亚洲 | 亚洲一区视频在线 | 国产成人免费 | 综合久久久| 精品无码久久久久久久动漫 | 久久精品国产亚洲a | 一级看片| 国产精品国产三级国产aⅴ无密码 | 亚洲精品久久久一区二区三区 | 午夜精品一区二区三区在线 | sese视频在线观看 | 久久国产福利 | 国产一区二区三区久久 | 欧美日韩高清 | 日韩精品在线一区二区 | 久久男人| 欧美色a v | 在线观看成人小视频 | 久久69精品久久久久久久电影好 | 国产成人精品综合 | 欧美一级二级视频 | 久久久久国产一区二区三区四区 | 国产成人99久久亚洲综合精品 | 精品免费在线 | 国产精品久久久久久久久久三级 | 男人天堂网址 | 中文字字幕在线中文乱码范文 | 一区二区三区亚洲视频 | 精品欧美激情精品一区 | 在线亚洲欧美 |