当下可用的 10 个 JavaScript 代码段

2024-12-31 09:09:00   小编

当下可用的 10 个 JavaScript 代码段

在 JavaScript 的世界里,掌握一些实用的代码段可以极大地提高开发效率。以下为您介绍 10 个当下可用的 JavaScript 代码段。

  1. 数组去重
function uniqueArray(arr) {
  return Array.from(new Set(arr));
}
  1. 数组扁平化
function flattenArray(arr) {
  return arr.flat(Infinity);
}
  1. 检查对象是否为空
function isEmptyObject(obj) {
  return Object.keys(obj).length === 0 && obj.constructor === Object;
}
  1. 生成随机字符串
function generateRandomString(length) {
  let result = '';
  const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  const charactersLength = characters.length;
  for (let i = 0; i < length; i++) {
    result += characters.charAt(Math.floor(Math.random() * charactersLength));
  }
  return result;
}
  1. 深拷贝对象
function deepCopy(obj) {
  return JSON.parse(JSON.stringify(obj));
}
  1. 防抖函数
function debounce(func, delay) {
  let timer;
  return function (...args) {
    clearTimeout(timer);
    timer = setTimeout(() => {
      func.apply(this, args);
    }, delay);
  };
}
  1. 节流函数
function throttle(func, delay) {
  let lastCall = 0;
  return function (...args) {
    const now = new Date().getTime();
    if (now - lastCall >= delay) {
      func.apply(this, args);
      lastCall = now;
    }
  };
}
  1. 格式化日期
function formatDate(date, format) {
  const year = date.getFullYear();
  const month = (date.getMonth() + 1).toString().padStart(2, '0');
  const day = date.getDate().toString().padStart(2, '0');
  const hours = date.getHours().toString().padStart(2, '0');
  const minutes = date.getMinutes().toString().padStart(2, '0');
  const seconds = date.getSeconds().toString().padStart(2, '0');

  format = format.replace('YYYY', year);
  format = format.replace('MM', month);
  format = format.replace('DD', day);
  format = format.replace('HH', hours);
  format = format.replace('mm', minutes);
  format = format.replace('ss', seconds);

  return format;
}
  1. 简单的轮询函数
function poll(fn, delay, timeout) {
  let timer;
  let startTime = new Date().getTime();

  function pollInternal() {
    if (new Date().getTime() - startTime > timeout) {
      clearTimeout(timer);
      return;
    }

    const result = fn();
    if (result) {
      clearTimeout(timer);
      return;
    }

    timer = setTimeout(pollInternal, delay);
  }

  pollInternal();
}
  1. 判断数据类型
function getType(obj) {
  return Object.prototype.toString.call(obj).slice(8, -1);
}

这些代码段在实际开发中都非常实用,能够帮助您解决常见的问题,提高代码的质量和效率。希望您能将它们灵活运用到您的项目中,让开发工作更加轻松愉快。

TAGS: JavaScript 技术 代码示例 JavaScript 代码段 当下可用

欢迎使用万千站长工具!

Welcome to www.zzTool.com