이 글에서는 실용적인 ES6 방법 10가지를 공유하겠습니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
JavaScript가 웹 개발에서 가장 인기 있는 프로그래밍 언어 중 하나라는 것은 의심의 여지가 없습니다. React, Vue 또는 Angular를 사용하든 그것은 단지 JavaScript일 뿐입니다. JS는 광대하고 중요한 생태계를 중심으로 발전하여 애플리케이션을 더 빠르게 개발하는 데 도움이 되는 수많은 프레임워크와 라이브러리를 제공합니다.
하지만 때로는 한발 물러서서 라이브러리를 사용하지 않고 작업을 수행하는 방법을 이해하려고 노력하는 것이 더 나을 때도 있습니다. 다음 코드 조각을 살펴보세요. 간단한 문제를 우아한 방식으로 해결하고 일상적인 프로젝트에서도 매우 실용적이므로 문제가 발생할 때 메모하고 직접 사용하세요.
1. 문자열 반전
이 예에서는 스프레드 연산자, Array의 reverse
메서드 및 String의 join
메서드를 사용하여 주어진 문자열을 반전합니다. 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]]
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]
const elementsAreEqual = array => array.every(el => el === array[0])
// 事例
elementsAreEqual([9, 8, 7, 6, 5, 4]) // false
elementsAreEqual([4, 4, 4, 4, 4]) // true
const averageOfTwoNumbers = (...numbers) => numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0) / numbers.length
// 事例
averageOfTwoNumbers(...[6, 7, 8]) // 7
averageOfTwoNumbers(...[6, 7, 8, 9]) // 7.5
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
키-값
쌍의 배열을 만듭니다. 6. 숫자 배열의 최대값을 반환합니다 8. 숫자의 평균을 반환합니다. 9. 두 개 이상의 숫자의 합을 반환합니다. 숫자 배열의 거듭제곱 집합 위 내용은 10가지 실용적인 ES6 방법, 와서 모아보세요!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!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]]