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;
}