七个项目必备的 JavaScript 代码片段

2024-12-31 04:40:42   小编

七个项目必备的 JavaScript 代码片段

在 JavaScript 开发中,掌握一些常用且高效的代码片段可以极大地提高项目的开发效率和质量。以下是七个在项目中必备的 JavaScript 代码片段。

1. 数组去重

function uniqueArray(arr) {
  return Array.from(new Set(arr));
}

2. 深拷贝对象

function deepClone(obj) {
  if (typeof obj!== 'object' || obj === null) {
    return obj;
  }
  let newObj = Array.isArray(obj)? [] : {};
  for (let key in obj) {
    newObj[key] = deepClone(obj[key]);
  }
  return newObj;
}

3. 防抖函数

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

4. 节流函数

function throttle(func, delay) {
  let prev = 0;
  return function (...args) {
    let now = Date.now();
    if (now - prev > delay) {
      func.apply(this, args);
      prev = now;
    }
  };
}

5. 格式化日期

function formatDate(date, format) {
  const o = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds()
  };
  for (let k in o) {
    if (new RegExp(`(${k})`).test(format)) {
      let str = o[k] + '';
      format = format.replace(RegExp.$1, (RegExp.$1.length === 1)? str : padLeftZero(str));
    }
  }
  return format;
}

function padLeftZero(str) {
  return ('00' + str).slice(-2);
}

6. 字符串驼峰转下划线

function camelToUnderline(str) {
  return str.replace(/([A-Z])/g, '_$1').toLowerCase();
}

7. 数组排序

function sortArray(arr, key, order = 'asc') {
  return arr.sort((a, b) => {
    if (order === 'asc') {
      return a[key] - b[key];
    } else {
      return b[key] - a[key];
    }
  });
}

这些 JavaScript 代码片段在各种项目中都非常实用,能够帮助开发者更高效地解决常见问题,提升代码的可读性和可维护性。熟练掌握并合理运用它们,将为您的项目开发带来很大的便利。

TAGS: 项目开发 必备技能 JavaScript 代码片段 七个项目

欢迎使用万千站长工具!

Welcome to www.zzTool.com