JS常用算法代码片段

9/20/2022 codeSnippet

记录JavaScript算法中常用的代码片段。

# 判断奇偶性

有两种方法,使用位运算或求余运算符,推荐位运算,速度更快。

/**
 * @description: 判断数字是否为奇数
 * @param {*} num 数字
 * @return {*} true 奇数; false 偶数
 */
function isOdd(num) {
  // 1. 使用位运算判断
  {
    // 使用位运算判断,一个数的二进制最后一位为0肯定为偶数,为1肯定为奇数
    return num & 1;
  }

  // 2. 使用求余运算符 %
  {
    return num % 2 != 0;
  }
}

# 获取整数数字的每一位


/**
 * @description: 获取整数数字的每一位,比如 129,获取  9 2 1
 * @param {*} digit 整数数字
 * @return {*} res digit的每一位(逆顺序)
 */
function separateNum(digit) {
  // 获取digit位数
  let digitLength = 0;
  {
    let tmp = digit;
    while (tmp != 0) {
      digitLength++;
      tmp = parseInt(tmp / 10);
    }
  }

  let res = [];
  {
    // 获取diget的每一位(逆顺序)
    let dev = 1;
    for (let i = 0; i < digitLength; i++) {
      // 任何整数,对 10 取模,都会获得最后一位
      let radix = parseInt(digit / dev) % 10;
      // 使用dev减少整数位数
      dev *= 10;
      res.push(radix);
    }
  }
  return res;
}

Last Updated: 9/20/2022, 4:04:32 PM