站長資訊網
最全最豐富的資訊網站

10個實用的ES6方法,快來收藏!

本篇文章給大家分享10個實用的ES6方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

10個實用的ES6方法,快來收藏!

毫無疑問,JavaScript 是Web開發中最流行的編程語言之一。 無論使用的是 React,Vue 還是Angular,都只是 JavaScript。 JS圍繞著廣闊而至關重要的生態系統發展,提供了無數的框架和庫,可幫助我們更快地開發應用程序。

但是有時候最好退一步,嘗試了解如何在沒有使用庫的情況下做事。 看看下面的代碼片段,它們以優雅的方式解決了簡單的問題,在日常項目也很實用,所以記好筆記,當遇到問題時就可直接來用使用。

1.字符串反轉


在此示例中,我們使用展開運算符,Array的reverse方法和 String 的join方法來反轉給定的字符串。

const reverseString = string => [...string].reverse().join('')  // 事例 reverseString('Medium') // "muideM" reverseString('Better Programming') // "gnimmargorP retteB"

2.計算指定數字的階乘


const factorialOfNumber = number =>    number < 0     ? (() => {       throw new TypeError('請輸入正整數')     })()     : number <= 1       ? 1       : number * factorialOfNumber(number - 1)               // 事例 factorialOfNumber(4) // 24 factorialOfNumber(8) // 40320

3.將數字轉換為數字數組


const converToArray = number => [...`${number}`].map(el => parseInt(el))  // 事例 converToArray(5678) // [5, 6, 7, 8] converToArray(12345678) // [1, 2, 3, 4, 5, 6, 7, 8]

4.檢查數字是否為2的冪


const isNumberPowerOfTwo = number => !!number && (number & (number - 1)) == 0  // 事例 isNumberPowerOfTwo(100) // false isNumberPowerOfTwo(128) // true

5.從對象創建鍵-值對數組


const keyValuePairsToArray = object => Object.keys(object)   .map(el => [el, object[el]])  // 事例 keyValuePairsToArray({Better: 4, Programming: 2}) // [['Better', 4], ['Programming', 2]]  keyValuePairsToArray({x:1, y:2, z:3}) // [['x', 1], ['y', 2], ['z', 3]]

6.返回數字數組中的最大值


const maxElementsFromArray = (array, number = 1) => [...array].sort((x, y) => y -x).slice(0, number)  // 事例 maxElementsFromArray([1, 2, 3, 4, 5]) // [5]  maxElementsFromArray([7, 8, 9, 10, 10], 2) // [10, 10]

7. 檢查數組中的所有元素是否相等


const elementsAreEqual = array => array.every(el => el === array[0])  // 事例 elementsAreEqual([9, 8, 7, 6, 5, 4]) // false elementsAreEqual([4, 4, 4, 4, 4]) // true

8. 返回數的平均值


const averageOfTwoNumbers = (...numbers) => numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0) / numbers.length  // 事例 averageOfTwoNumbers(...[6, 7, 8]) // 7 averageOfTwoNumbers(...[6, 7, 8, 9]) // 7.5

9.返回兩個或多個數字的和


const sumOfNumbers = (...array) => [...array].reduce((accumulator, currentValue) => accumulator + currentValue, 0)  // 事例 sumOfNumbers(5, 6, 7, 8, 9, 10) // 45 sumOfNumbers(...[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) // 50

10.返回數字數組的冪集


所謂冪集(Power Set), 就是原集合中所有的子集(包括全集和空集)構成的集族。可數集是最小的無限集; 它的冪集和實數集一一對應(也稱同勢),是不可數集。 不是所有不可數集都和實數集等勢,集合的勢可以無限的大。如實數集的冪集也是不可數集,但它的勢比實數集大。 設X是一個有限集,|X| = k,則X的冪集的勢為2的k次方。

const powersetOfArray = array => array.reduce((accumulator, currentValue) => accumulator.concat(accumulator.map(el => [currentValue].concat(el))), [[]])  // 事例 powersetOfArray([4, 2]) // [[], [4], [2], [2, 4]] powersetOfArray([1, 2, 3]) // [[], [1], [2], [2,1], [3], [3,1], [3,2], [3,2,1]]

原文地址:https://webdevhub.net/articles/javascriptmedium/10-javascript-code-snippets-you-can-use-right-now

作者:Simon Holdorf

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
日韩精品中文字幕视频一区| 在线精品一区二区三区| 久久国产精品波多野结衣AV| 中文字幕日韩视频| 日本精品αv中文字幕| 亚洲精品伦理熟女国产一区二区 | 国产主播精品在线| 5x社区精品视频在线播放18| 久久久久久影院久久久久免费精品国产小说 | 精品人妻少妇一区二区三区不卡| 精品国偷自产在线| 3d动漫精品啪啪一区二区中文| 无码精品黑人一区二区三区| 国产精品VA在线观看无码不卡| 国产极品白嫩精品| 久久精品无码免费不卡| 国产精品福利区一区二区三区四区| 四虎亚洲国产成人久久精品| 精品女同一区二区三区在线| 日韩一品在线播放视频一品免费| 亚洲精品日韩中文字幕久久久| 又紧又大又爽精品一区二区| 国产美女精品久久久久久久免费| 国产亚洲精品AAAA片APP| 亚洲Av永久无码精品黑人| 亚洲精品无码成人| 亚洲精品国产精品| 亚洲国产精品嫩草影院| 少妇人妻偷人精品无码AV| 欧美日韩亚洲精品| 精品久久亚洲一级α| 国产成人精品久久久久| 国精产品一品二品国精品69xx| 青青青国产精品手机在线观看| 在线视频这里只有精品| 国产精品视频久久久久久| 国产亚洲情侣久久精品| 日韩免费电影网址| 精品少妇人妻av无码专区| 国产精品成人国产乱一区| 中文字幕免费视频精品一|