indexOf
str.indexOf(query) != -1 或 if(str.indexOf(query) >= 0) 可写成:
if(~str.indexOf(query)) {}
取整~~
parseInt(-2.991212121)
~~(-2.92129)
~~(任何类型) 不是number类型的转为0
补零
const FillZero = (num, len) => num.toString().padStart(len, "0");
const num = FillZero(169, 5);
格式化金额
const ThousandNum = num => num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
const money = ThousandNum(20190214);
生成星级评价
const StartScore = rate => "★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);
const start = StartScore(3);
const startScore = rate => Array(5).fill('★图片路径').concat(Array(5).fill('图片路径')).slice(5 - rate, 10 - rate);
操作URL查询参数
const params = new URLSearchParams(location.search.replace(/\?/ig, ""));
params.has("young");
params.get("sex");
精确小数位
const RoundNum = (num, decimal) => Math.round(num * 10 ** decimal) / 10 ** decimal;
const num = RoundNum(1.69, 1);
快速获取时间戳
const timestamp = +new Date("2019-02-14");
判断奇偶
const OddEven = num => !!(num & 1) ? "odd" : "even";
const num = OddEven(2);
生成范围随机数
const RandomNum = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;
const num = RandomNum(1, 10); [1,10]
判断数据类型
function DataType(tgt, type) {
const dataType = Object.prototype.toString.call(tgt).replace(/\[object (\w+)\]/, "$1").toLowerCase();
return type ? dataType === type : dataType;
}
DataType("young");
DataType(20190214);
DataType(true);
DataType([], "array");
DataType({}, "array");
去重数组
const arr = [...new Set([0, 1, 1, null, null])];
统计数组相同个数
const arr = [0, 1, 1, 2, 2, 2];
const count = arr.reduce((t, v) => {
t[v] = t[v] ? ++t[v] : 1;
return t;
}, {});
…