JavaScript常用工具函数大全

JavaScript常用工具函数大全

本文将收集整理一些常用的 JavaScript 工具函数,旨在帮助开发者在日常工作中更加高效地编写代码。

1. 数组相关函数

1.1 isArray()

判断一个值是否是数组。

function isArray(value) {
  return Array.isArray(value);
}

示例:

isArray([]);                //true
isArray({});                //false

1.2 flatten()

将嵌套的数组打平成一维数组。

function flatten(arr, result = []) {
  arr.forEach(item => {
    if(Array.isArray(item)) {
      flatten(item, result);
    }else{
      result.push(item);
    }
  });
  return result;
}

示例:

flatten([1, 2, [3, 4], [5, 6, [7, 8]]]);                //[1, 2, 3, 4, 5, 6, 7, 8]

2. 字符串相关函数

2.1 capitalize()

将字符串首字母大写。

function capitalize(str) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}

示例:

capitalize('hello world');            //'Hello world'

2.2 toCamelCase()

将横杠或下划线连接的字符串转换为驼峰式。

function toCamelCase(str) {
  return str.replace(/[-_](.)/g, (_, c) => {
    return c.toUpperCase();
  });
}

示例:

toCamelCase('my-name-is-john');                //'myNameIsJohn'

3. 时间日期相关函数

3.1 formatDate()

将日期对象格式化为字符串。

function formatDate(d, format) {
    const padZero = (num) => String(num).padStart(2, '0');
    const year = d.getFullYear();
    const month = padZero(d.getMonth() + 1);
    const date = padZero(d.getDate());
    const hours = padZero(d.getHours());
    const minutes = padZero(d.getMinutes());
    const seconds = padZero(d.getSeconds());
    const ms = padZero(d.getMilliseconds());
    const map = {
        'yyyy': year,
        'MM': month,
        'dd': date,
        'HH': hours,
        'mm': minutes,
        'ss': seconds,
        'SSS': ms
    };
    return format.replace(/yyyy|MM|dd|HH|mm|ss|SSS/g, match => map[match]);
}

示例:

const d = new Date();
formatDate(d, 'yyyy-MM-dd HH:mm:ss.SSS');                //'2022-03-11 22:44:23.377'

3.2 getTimeZone()

获取时区。

function getTimeZone() {
  const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
  return timeZone;
}

示例:

getTimeZone();                //'Asia/Shanghai'

4. 其他函数

4.1 throttle()

控制函数的执行频率。

function throttle(func, delay = 100) {
  let timer = null;
  return function(...args) {
    if(timer) {
      return;
    }
    timer = setTimeout(() => {
      func.apply(this, args);
      timer = null;
    }, delay);
  }
}

示例:

function sayHi() {
  console.log('hello');
}
const throttledFn = throttle(sayHi, 5000);
throttledFn();                //'hello'  5秒后再次执行不会立即输出

结语

以上是笔者整理的一些 JavaScript 常用工具函数,希望能够对您的开发工作有所帮助。如有错误或不足之处,敬请指正。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript常用工具函数大全 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • javascript异步编程

    下面我会来详细讲解“JavaScript 异步编程”的完整攻略,包括基本概念、异步编程方式、回调函数、Promise、async/await 等。 基础概念 在学习异步编程之前,我们需要了解以下几个基础概念: 同步代码 同步代码指的是按照代码的书写顺序,依次执行的代码,一行代码的执行需要等待上一行代码的执行完成。 console.log(‘start’); …

    JavaScript 2023年5月18日
    00
  • js获取单选按钮的数据

    获取单选按钮的数据在实际应用中非常常见,以下是 js 获取单选按钮数据的完整攻略: 1. 获取单选按钮的选中状态 要获取单选按钮的数据,首先需要知道单选按钮的选中状态。单选按钮的选中状态可以通过其 checked 属性来获取。checked 属性是一个布尔值,表示单选按钮是否被选中。若该属性为 true,则表示单选按钮被选中。 下面是获取单选按钮的选中状态的…

    JavaScript 2023年6月10日
    00
  • javascript另类方法实现htmlencode()与htmldecode()函数实例分析

    JavaScript另类方法实现 htmlEncode() 与 htmlDecode() 函数实例分析 在 JavaScript 中,有时我们需要将字符串转义为 HTML 实体或反转义。为了实现这个功能,我们可以使用 HTML 实体字符编码的概念来将特殊字符转换为 HTML 实体。本文将介绍如何在 JavaScript 中实现 htmlEncode() 与 …

    JavaScript 2023年5月20日
    00
  • JS 新增Cookie 取cookie值 删除cookie 举例详解

    JS 新增 Cookie 在 JavaScript 中新增 Cookie 非常简单,只需要设置 document.cookie 属性即可。 document.cookie = "key=value"; 其中,key 表示 Cookie 的键值,value 表示 Cookie 的值。如果需要设置多个 Cookie,可以使用分号(;)隔开。 …

    JavaScript 2023年6月11日
    00
  • 跟我学习javascript的最新标准ES6

    跟我学习JavaScript的最新标准ES6 ES6简介 ES6,全称ECMAScript 6.0,是JavaScript语言的下一个正式版本,于2015年发布。ES6引入了许多新的语法和特性,使开发者们在编写JavaScript代码时更加方便和简单。 下面我们就来看看如何学习ES6。 ES6学习攻略 确认学习环境 在学习ES6之前,你需要确认你的学习环境是…

    JavaScript 2023年5月18日
    00
  • 详谈js遍历集合(Array,Map,Set)

    我来为你讲解如何用JavaScript遍历集合。 集合的遍历 在遍历集合之前,首先需要了解集合类型的基本特性。 JavaScript中常见的集合类型有Array、Map和Set。其中: Array是一种有序、可重复的数据集合,它可以通过下标或迭代器来访问其中的元素。 Map是一种关联数组,它保存了键值对,并且键可以是任意类型的数据,而值可以是任意类型的数据。…

    JavaScript 2023年5月27日
    00
  • JS中的正则表达式及pattern的注意事项

    JS中的正则表达式及pattern的注意事项 在JS中,正则表达式是一个用于匹配字符串模式的对象,可以用来进行字符串的查找、替换、删除等操作,是一项非常重要的功能。在使用正则表达式的过程中,我们需要注意一些pattern的注意事项,下面就来详细介绍。 1. 正则表达式的基本语法 在JS中,我们可以通过使用RegExp对象来创建正则表达式,同时也可以使用字面量…

    JavaScript 2023年6月11日
    00
  • JavaScript防抖与节流详解

    JavaScript防抖与节流详解 前言 在Web开发中,我们经常需要对用户的操作进行响应,比如防止用户频繁点击按钮或滚动页面。而JavaScript中通过防抖和节流两种方式来解决这个问题。防抖和节流的核心思想都是通过控制函数的执行次数来达到节省性能的效果,但两者的实现方式略有不同。 防抖 防抖的原理是将多次执行变成最后一次执行,也就是在用户停止操作一段时间…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部