返回

JavaScript 常用实例代码合集

前端

JavaScript 常用实例代码:提高开发效率的 30 个妙招

简介

JavaScript 开发中经常遇到的重复性任务,如数组去重、字符串格式化和日期处理,会影响开发效率。本文汇总了 30 个精心挑选的 JavaScript 常用实例代码,涵盖了数组操作、字符串操作、函数操作、对象操作和日期操作等各个方面,旨在帮助开发人员提高效率,轻松应对常见开发难题。

数组操作

1.1 数组去重

function unique(array) {
  return [...new Set(array)];
}

此代码利用 Set 数据结构的唯一性,巧妙地去除了数组中的重复元素。

1.2 数组排序

function sortArray(array) {
  return array.sort((a, b) => a - b);
}

此代码使用数组的 sort() 方法对数字数组进行升序排序。

1.3 数组打乱

function shuffleArray(array) {
  for (let i = array.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [array[i], array[j]] = [array[j], array[i]];
  }
  return array;
}

此代码通过随机交换数组元素,实现了数组的打乱效果,适用于抽奖或洗牌等场景。

字符串操作

2.1 字符串首字母大写

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

此代码将字符串的首字母转换为大写,适用于标题或人名处理。

2.2 字符串末尾添加省略号

function truncateString(string, length) {
  if (string.length > length) {
    return string.substring(0, length - 3) + "...";
  } else {
    return string;
  }
}

此代码在超过指定长度的字符串末尾添加省略号,便于在空间受限的情况下展示内容。

2.3 字符串转义 HTML 字符

function escapeHtml(string) {
  const map = {
    "&": "&",
    "<": "&lt;",
    ">": "&gt;",
    '"': "&quot;",
    "'": "&#39;",
  };
  return string.replace(/[&<>"']/g, (m) => map[m]);
}

此代码将 HTML 特殊字符转换为 HTML 实体,防止浏览器错误解析并显示。

函数操作

3.1 函数防抖

function debounce(func, wait) {
  let timeout;
  return function (...args) {
    clearTimeout(timeout);
    timeout = setTimeout(() => func.apply(this, args), wait);
  };
}

此代码防止函数在短时间内被多次触发,适用于防止按钮连点或搜索框输入时的频繁请求。

3.2 函数节流

function throttle(func, wait) {
  let lastTime = 0;
  return function (...args) {
    const now = new Date().getTime();
    if (now - lastTime > wait) {
      func.apply(this, args);
      lastTime = now;
    }
  };
}

此代码与防抖类似,但只允许函数在指定时间间隔内执行一次,适用于滚动或鼠标移动等高频事件处理。

3.3 函数柯里化

function curry(func) {
  return function (...args) {
    if (args.length >= func.length) {
      return func.apply(this, args);
    } else {
      return (...rest) => curry(func)(...args, ...rest);
    }
  };
}

此代码将多参数函数转换为单参数函数,便于函数组合和代码复用。

对象操作

4.1 对象深度克隆

function deepClone(object) {
  return JSON.parse(JSON.stringify(object));
}

此代码通过 JSON 序列化和反序列化实现对象的深度克隆,适用于复杂对象或包含循环引用的情况。

4.2 对象合并

function mergeObjects(...objects) {
  return Object.assign({}, ...objects);
}

此代码将多个对象合并为一个新的对象,适用于合并来自不同来源的数据。

4.3 对象转 URL 参数

function objectToParams(object) {
  return Object.keys(object)
    .map((key) => `${key}=${object[key]}`)
    .join("&");
}

此代码将对象转换为 URL 参数字符串,适用于将数据提交到服务器或构建查询字符串。

日期操作

5.1 获取当前时间戳

function getCurrentTimestamp() {
  return new Date().getTime();
}

此代码获取当前时间戳,用于计算时间差或作为唯一标识符。

5.2 时间戳转日期字符串

function timestampToDateString(timestamp) {
  return new Date(timestamp).toLocaleDateString();
}

此代码将时间戳转换为可读的日期字符串,适用于显示日期信息。

5.3 日期字符串转时间戳

function dateStringToTimestamp(dateString) {
  return new Date(dateString).getTime();
}

此代码将日期字符串转换为时间戳,适用于将用户输入的日期转换为机器可理解的格式。

结语

本文提供的 30 个 JavaScript 常用实例代码,涵盖了广泛的开发场景,旨在为 JavaScript 开发人员提供即时可用的解决方案。这些代码不仅可以提高开发效率,还可以帮助开发人员应对常见的开发难题。

常见问题解答

  1. 这些代码是否适用于所有 JavaScript 版本?

这些代码适用于大多数 JavaScript 版本,包括 ES5、ES6 和更新版本。

  1. 如何使用这些代码?

可以直接将这些代码复制到 JavaScript 代码中,或将其封装为函数或类进行复用。

  1. 如何扩展这些代码?

这些代码可以作为基础,根据具体需求进行扩展或修改。

  1. 是否可以将这些代码用于商业项目?

这些代码没有版权限制,可以自由用于商业项目。

  1. 如何获得代码的更新?

随着 JavaScript 的不断发展,这些代码可能会更新。建议关注权威的技术博客或社区,获取最新代码和信息。