返回

33个一针见血的JavaScript单行代码,程序员的必备武器!

前端

一针见血的JavaScript一行代码,对于程序员来说,无疑是珍贵的宝藏。它们不仅可以提高开发效率,还能让代码更加简洁优美。在本文中,我们将分享 33 个实用的一行代码,它们涵盖了各种各样的功能,包括字符串处理、数组操作、对象操作、日期处理、函数操作等。相信这些代码一定能成为你编程生涯中的好帮手。

  • 字符串处理:

    // 反转字符串
    const reversedString = str.split("").reverse().join("");
    
    // 删除字符串中的所有空格
    const strWithoutSpaces = str.replace(/\s/g, "");
    
    // 将字符串中的所有字母大写
    const strUpperCase = str.toUpperCase();
    
    // 将字符串中的所有字母小写
    const strLowerCase = str.toLowerCase();
    
    // 截取字符串中的指定部分
    const substring = str.substring(startIndex, endIndex);
    
    // 检查字符串是否包含某个子字符串
    const isSubstringPresent = str.includes(substring);
    
  • 数组操作:

    // 将数组中的所有元素都乘以 2
    const doubledArray = array.map((x) => x * 2);
    
    // 过滤数组中的奇数元素
    const oddArray = array.filter((x) => x % 2 === 1);
    
    // 将数组中的所有元素都累加起来
    const sumArray = array.reduce((a, b) => a + b, 0);
    
    // 获取数组中最大的元素
    const maxArray = Math.max(...array);
    
    // 获取数组中最小的元素
    const minArray = Math.min(...array);
    
    // 将数组中的所有元素都排序
    const sortedArray = array.sort((a, b) => a - b);
    
  • 对象操作:

    // 将对象的所有键名都转成小写
    const lowercaseKeysObject = Object.fromEntries(
      Object.entries(object).map(([key, value]) => [key.toLowerCase(), value])
    );
    
    // 获取对象的键名数组
    const keysArray = Object.keys(object);
    
    // 获取对象的值数组
    const valuesArray = Object.values(object);
    
    // 检查对象是否包含某个键
    const hasKey = object.hasOwnProperty(key);
    
    // 删除对象中的某个键
    delete object[key];
    
    // 将两个对象合并成一个新的对象
    const mergedObject = { ...object1, ...object2 };
    
  • 日期处理:

    // 获取当前时间戳
    const timestamp = Date.now();
    
    // 将时间戳转换为日期对象
    const date = new Date(timestamp);
    
    // 获取日期的年份
    const year = date.getFullYear();
    
    // 获取日期的月份
    const month = date.getMonth() + 1;
    
    // 获取日期的天数
    const day = date.getDate();
    
    // 获取日期的小时
    const hour = date.getHours();
    
    // 获取日期的分钟
    const minute = date.getMinutes();
    
    // 获取日期的秒数
    const second = date.getSeconds();
    
  • 函数操作:

    // 将一个函数柯里化
    const curriedFunction = (a) => (b) => a + b;
    
    // 将一个函数节流
    const throttledFunction = (func, delay) => {
      let timerId;
      return (...args) => {
        if (!timerId) {
          timerId = setTimeout(() => {
            func(...args);
            timerId = null;
          }, delay);
        }
      };
    };
    
    // 将一个函数防抖
    const debouncedFunction = (func, delay) => {
      let timerId;
      return (...args) => {
        clearTimeout(timerId);
        timerId = setTimeout(() => {
          func(...args);
        }, delay);
      };
    };
    
    // 将一个函数的执行结果缓存起来
    const memoizedFunction = (func) => {
      const cache = {};
      return (...args) => {
        const key = JSON.stringify(args);
        if (cache[key]) {
          return cache[key];
        } else {
          const result = func(...args);
          cache[key] = result;
          return result;
        }
      };
    };
    

以上列出的只是 JavaScript 一行代码的冰山一角。还有更多实用的一行代码等待你挖掘。希望这些代码能帮助你提高开发效率,并写出更加简洁、优雅的代码。