博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript中实用的8个代码片段
阅读量:3958 次
发布时间:2019-05-24

本文共 1679 字,大约阅读时间需要 5 分钟。

1. 反转字符串

使用扩展符号…将字符串解析成数组。

const reverseString = string => [...string].reverse().join('');reverseString('Medium'); // 'muideM'

2. 数阶乘

计算数据的阶乘,使用箭头函数和三元运算符。

const factorialOfNumber = number =>   number < 0    ? (() => {
throw new TypeError('No negative numbers please'); })() : number <= 1 ? 1 : number * factorialOfNumber(number - 1); factorialOfNumber(4); // 24

3.整数转数组

使用扩展符号…,并结合map方法。

const convertToArray = number => [...`${
number}`].map(el => parseInt(el))convertToArray(5678); // [5, 6, 7, 8]

4.检查是否为2的幂数

这个很简单明了,巧妙运用了与(&)运算符。

const isNumberPowerOfTwo = number => !!number && (number & (number - 1)) === 0;isNumberPowerOfTwo(100); // falseisNumberPowerOfTwo(128); // true

5.创建一级对象的键值对数组

本例子只是针对一级对象创建数组,这个数组是二维的,其存储转换后对象的键值对。

const keyValuePairsToArray = object => Object.keys(object).map(el => [el, object[el]]);keyValuePairsToArray({
Better: 4, Programming: 2});// [['Better', 4], ['Programming', 2]]

6.返回数字数组中的最大值

下面我们定义了一个函数,参数一是要传递的数字数组,参数二是要返回的数组长度。当然,对于返回数字数组中的最小值的思路也是一样。

const maxElementsFromArray = (array, len = 1) => [...array].sort((x, y) => y - x).slice(0, len);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]); // falseelementsAreEqual([4, 4, 4, 4, 4]); // true

8.计算平均数

我们使用reduce函数对数组进行处理,再求平均数。

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

转载地址:http://diozi.baihongyu.com/

你可能感兴趣的文章
implicit declaration of function 这种警告问题的原因及解决方法
查看>>
utorrent如何处理占资源过大的问题
查看>>
<好文分享>妖怪和和尚过河问题
查看>>
uTP协议的前世今生(from wikipedia)
查看>>
uTP协议的前世今生(from wikipedia)
查看>>
utp的包头格式<2>
查看>>
开源搜索引擎的比较(收藏几个博客文章)最近要做搜索系统的研究方向
查看>>
asii码表
查看>>
<读书笔记>WebUsage Mining:Discovery and Applications of Usage Patterns from Web Data
查看>>
并查集(Disjoint Sets)
查看>>
在Linux下安装MATLAB
查看>>
readme
查看>>
微服务概念
查看>>
数据库分库分表
查看>>
hibernate inverse 和cascade讲解
查看>>
建模工具Rose的学习
查看>>
javascript ajax提出异步请求
查看>>
Hibernate 中的 QBC
查看>>
解快局域网共享问题
查看>>
xp常用命令
查看>>