最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • JavaScript中实用的8个代码片段

    正文概述 掘金(Jimmy)   2020-12-02   333

    JavaScript中实用的8个代码片段

    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); // 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]]
    

    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]); // false
    elementsAreEqual([4, 4, 4, 4, 4]); // true
    

    8. 计算平均数

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

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

    后话

    • 文章首发:https://github.com/reng99/blogs/issues/81

    • 文章来源:https://thesmartcoder.dev/10-javascript-code-snippets-you-can-use-right-now/

    • 更多内容:https://github.com/reng99/blogs


    起源地下载网 » JavaScript中实用的8个代码片段

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元