日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
這個(gè)開(kāi)源項(xiàng)目絕了!30秒就能理解的JavaScript優(yōu)秀代碼

[[394653]]

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

這個(gè)項(xiàng)目在Github上十分受歡迎,目前標(biāo)星 71.3K,累計(jì)分支 7.9K(Github地址:https://github.com/30-seconds/30-seconds-of-code)

下面還是一起來(lái)看看這個(gè)項(xiàng)目里都有哪些代碼段吧:

數(shù)組:arrayMax

返回?cái)?shù)組中的最大值。將Math.max()與擴(kuò)展運(yùn)算符 (...) 結(jié)合使用以獲取數(shù)組中的最大值。

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

瀏覽器:bottomVisible

如果頁(yè)的底部可見(jiàn), 則返回true, 否則為false。使用scrollY、scrollHeight和clientHeight來(lái)確定頁(yè)面底部是否可見(jiàn)。

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

日期:getDaysDiffBetweenDates

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

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

函數(shù):chainAsync

鏈異步函數(shù),循環(huán)遍歷包含異步事件的函數(shù)數(shù)組, 當(dāng)每個(gè)異步事件完成時(shí)調(diào)用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. */ 

數(shù)學(xué):arrayAverage

返回?cái)?shù)字?jǐn)?shù)組的平均值。使用Array.reduce()將每個(gè)值添加到累加器中, 并以0的值初始化, 除以數(shù)組的length。

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

節(jié)點(diǎn):JSONToFile

將 JSON 對(duì)象寫(xiě)入文件。使用fs.writeFile()、模板文本和JSON.stringify()將json對(duì)象寫(xiě)入.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' 

對(duì)象:cleanObj

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

 
 
 
 
  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}} 

 

以上舉的這些示例還只是冰山一角,如果你對(duì)這個(gè)項(xiàng)目感興趣就趕緊馬克起來(lái)。

 


新聞名稱(chēng):這個(gè)開(kāi)源項(xiàng)目絕了!30秒就能理解的JavaScript優(yōu)秀代碼
當(dāng)前路徑:http://m.5511xx.com/article/djjioih.html