ES6小技巧之代替lodash
Javascript ES6標(biāo)準(zhǔn)實(shí)行后,Lodash或者Ramada中的一些功能我們就不需要了,可以使用ES6的語(yǔ)法來(lái)實(shí)現(xiàn)
獲取Object中指定鍵值
我們現(xiàn)在可以使用解包的方法快速獲取對(duì)象中指定鍵值的值
const obj = { a:1, b:2, c:3, d:4 }; // 獲取obj中a與b的值 const {a,b} = obj; // 也可以給他們?nèi)e名 const {a:A, b:B} = obj;
這個(gè)小技巧非常的方便,也是最基礎(chǔ)的使用方法
排除Object中不需要的鍵值
既然我們可以獲取到想要的對(duì)象鍵值,那么也可以排除掉不想要的鍵值,使用方法就要用到ES6的rest新特性
const obj = { a:1, b:2, c:3, d:4 } // 我們想要獲取除了a之外的所有屬性 const {a, ...other} = obj
我們只要指定那些排除掉的屬性,剩下的就是需要的屬性,這樣可以非??焖俚呐懦恍枰膶傩?br />
對(duì)象快速求和
有時(shí)候我們需要對(duì)一組對(duì)象數(shù)組中的某一個(gè)屬性求總和,以前我們可以使用forEach或者for這樣的循環(huán)遍歷的方法來(lái)計(jì)算,現(xiàn)在我們可以使用reduce方法來(lái)快速實(shí)現(xiàn)
const objs = [ {name:'lilei', score: 98}, {name:'hanmeimei', score: 95}, {name:'polo', score: 85}, ... ] const scoreTotal = objs.reduce( (total, obj) => { return obj.score + total; }, 0 /*第二個(gè)參數(shù)是total的初始值*/)
使用reduce就能快速的實(shí)現(xiàn)對(duì)某一個(gè)屬性的總和計(jì)算
map也能異步遍歷
是不是覺(jué)得只有for能夠進(jìn)行異步操作不方便,其實(shí)map也能進(jìn)行異步操作,不過(guò)需要結(jié)合Promise的新方法一起使用
const arr = [1,2,3,4,...] const queue = arr.map(async item => { return item + 1; }) Promise.all(queue).then(newArr => console.log(newArr))
這樣一來(lái)我們?cè)趍ap中也能使用異步操作了
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
使用clipboard.js庫(kù)實(shí)現(xiàn)復(fù)制剪切功能
這篇文章介紹了clipboard.js實(shí)現(xiàn)復(fù)制功能的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06淺談javascript函數(shù)劫持[轉(zhuǎn)自xfocus]
javascript函數(shù)劫持,也就是老外提到的javascript hijacking技術(shù)。最早還是和劍心同學(xué)討論問(wèn)題時(shí)偶然看到的一段代碼2008-02-02判斷字符串的長(zhǎng)度(優(yōu)化版)中文占兩個(gè)字符
判斷字符串的長(zhǎng)度的方法有很多,本例介紹的是優(yōu)化之前的方法,記住中文占兩個(gè)字符,需要的朋友不要錯(cuò)過(guò)2014-10-10JS?限時(shí)限次數(shù)點(diǎn)擊按鈕的實(shí)現(xiàn)思路
這篇文章主要介紹了JS?限時(shí)限次數(shù)點(diǎn)擊按鈕,實(shí)現(xiàn)方法很簡(jiǎn)單需要用一個(gè)變量作為計(jì)數(shù),點(diǎn)擊一次,計(jì)數(shù)加一點(diǎn)擊函數(shù)內(nèi)判斷計(jì)數(shù)變量設(shè)置定時(shí)恢復(fù),對(duì)實(shí)例代碼感興趣的朋友一起看看吧2022-03-03Javascript本地存儲(chǔ)localStorage看這一篇就夠了
這篇文章主要給大家介紹了關(guān)于Javascript本地存儲(chǔ)localStorage的相關(guān)資料,localStorage會(huì)可以將第一次請(qǐng)求的數(shù)據(jù)直接存儲(chǔ)到本地,這個(gè)相當(dāng)于一個(gè)5M大小的針對(duì)于前端頁(yè)面的數(shù)據(jù)庫(kù),需要的朋友可以參考下2024-07-07HTML5之WebSocket入門3 -通信模型socket.io
socket.io能為程序員提供客戶端和服務(wù)端一致的編程體驗(yàn),socket.io支持任何的瀏覽器,任何的Mobile設(shè)備。下面通過(guò)本篇文章給大家講解HTML5之WebSocket入門3 -通信模型socket.io,需要的朋友可以參考下2015-08-08