更新時(shí)間:2018-11-05 來源:黑馬程序員 瀏覽量:
清空或者截?cái)鄶?shù)組
首先,我們?cè)诓恢匦陆o數(shù)組賦值的情況下,清空或者是截?cái)鄶?shù)組的方法,其中最簡(jiǎn)單的就是更改其中的length屬性值:
2.使用對(duì)象結(jié)構(gòu)(destructuring)模擬命名參數(shù)
當(dāng)你需要將一組可選變量傳遞給某個(gè)函數(shù)的時(shí)候,你可能已經(jīng)在使用配置對(duì)象了,如下:
這是一個(gè)很老套但是很有效的模式,它試圖在JavaScript中模擬命名參數(shù)。函數(shù)調(diào)用看起來很好,但是另一方面,配置對(duì)象處理邏輯不必要地冗長(zhǎng)。下面使用ES2015 對(duì)象解構(gòu),我們就可以繞過這個(gè)缺點(diǎn):
如果我們要配置對(duì)象也是可以的,如下:
3.使用對(duì)象解構(gòu)來處理數(shù)組的方式如下:
我們可以使用對(duì)象解構(gòu)將數(shù)組項(xiàng)分配給各個(gè)變量:
下面來說一下switch語句中使用范圍值:
這里我們將技巧與本文中的其他技巧區(qū)分開,這不是一種節(jié)省時(shí)間的技術(shù),也不適用于現(xiàn)實(shí)生活中的膽碼。但是我們記住,if語句在這種情況下總是更好。
本文中的其他提示不同,更像是一種好奇探索而不是真正的適用什么。
4.下面是在switch語句中適用范圍值的簡(jiǎn)單技巧:
5.使用 async/await 來 await多個(gè)async函數(shù)
可以使用 Promise.all 來 await 多個(gè) async(異步)函數(shù)。
6.創(chuàng)建純pure對(duì)象
我們可以創(chuàng)建一個(gè)100%的純對(duì)象,但是它不會(huì)從Object 繼承任何屬性或方法(例如,constructor,toString() 等)。
7.格式化JSON代碼
JSON.stringify 不僅可以簡(jiǎn)單地將對(duì)象轉(zhuǎn)化為字符串。你也可以用它來格式化JSON輸出:
8.從數(shù)組中刪除重復(fù)元素(數(shù)組去重)
通過使用通過使用集合語法和 Spread(展開)運(yùn)算符,您可以輕松地從數(shù)組中刪除重復(fù)項(xiàng):
9.平鋪多維數(shù)組
使用 Spread(展開),可以很容易去平鋪嵌套多維數(shù)組:
可惜,上面的方法僅僅適用于二維數(shù)組。不過,通過遞歸,我們可以平鋪任意維度的嵌套數(shù)組。
以上就是全部技巧,希望大家通過這篇文章可以編寫出更好更漂亮的JavaScript。
作者:黑馬程序員前端與移動(dòng)開發(fā)培訓(xùn)學(xué)院
首發(fā):http://web.itheima.com/