// 获取dom距离顶部的距离
const getPosition = el => {
if (!el) return false;
var rect = el.getBoundingClientRect();
//获取元素距离文档顶部的距离
var top =
rect.top +
(window.pageYOffset || document.documentElement.scrollTop) -
(document.documentElement.clientTop || 0);
var left =
rect.left +
(window.pageXOffset || document.documentElement.scrollLeft) -
(document.documentElement.clientLeft || 0);
return {
top,
left
};
};
const compareVersion = function(version1, version2) {
let verision1Arr = version1.split(".");
let verision2Arr = version2.split(".");
let maxLen =
verision1Arr.length > verision2Arr.length
? verision1Arr.length
: verision2Arr.length;
for (let i = 0; i < maxLen; i++) {
let p1 = verision1Arr[i] >> 0 || 0;
let p2 = verision2Arr[i] >> 0 || 0;
if (p1 > p2) {
return 1;
} else if (p1 < p2) {
return -1;
}
}
return 0;
};
const decodeString = s => {
let numStack = [];
let strStack = [];
let num = 0;
let result = "";
for (const char of s) {
if (!isNaN(char)) {
num = num * 10 + Number(char);
} else if (char == "[") {
strStack.push(result);
result = "";
numStack.push(num);
num = 0;
} else if (char == "]") {
let repeatTimes = numStack.pop();
result = strStack.pop() + result.repeat(repeatTimes);
} else {
result += char;
}
}
return result;
};
网友评论