js进阶小技巧

检查日期是否为工作日

const isWeekday = (date) => date.getDay() % 6 !== 0;
console.log(isWeekday(new Date(2021, 2, 15)));

获取随机布尔值 true/false

const randomBoolean = () => Math.random() >= 0.5;
console.log(randomBoolean());

反转字符串

const reverse = str => str.split('').reverse().join('');
reverse('hello world'); 

检查数字是否为偶数

const isEven = num => num % 2 === 0;
console.log(isEven(2));

从日期中获取时间

const timeFromDate = date => date.toTimeString().slice(0, 8);
console.log(timeFromDate(new Date(2021, 2, 15, 19, 30, 0)));

去掉日期的时间

var time=/\d{4}-\d{1,2}-\d{1,2}/g.exec('2021-3-15 19:50:00')[0]
// "2021-3-15"

保留小数点(非四舍五入)

const toFixed = (n, fixed) => ~~(Math.pow(10, fixed) * n) / Math.pow(10, fixed);
toFixed(23.54887845481, 1);       // 23.5
toFixed(23.4648748688, 2);       // 23.46

滚动到页面顶部

const goToTop = () => window.scrollTo(0, 0);
goToTop();

获取所有参数平均值

const average = (...args) => args.reduce((a, b) => a + b) / args.length;
average(1, 2, 3, 4);

检查当前用户是否为苹果设备

const isAppleDevice = /Mac|iPod|iPhone|iPad/.test(navigator.platform);
console.log(isAppleDevice);

格式化JSON代码
我们都非常熟悉JSON.stringify,但比较少知道的是它还可以进行格式化的输出。
stringify 方法有三个参数:value,replacer和space。其中,后两个是可选参数,这也是我们很少知道它的原因。要缩进JSON,必须使用space参数。

console.log(JSON.stringify({name:"yy",Age:23},null,'\t'));
>>> 
{
 "name": "yy",
 "Age": 23
}

从数组中获取唯一的值

let uniqueArray = [...new Set([423, 43242,342, 333,"666","666",'a','b','c','c',true])]

从数组中删除虚值

myArray.filter(Boolean)

合并多个对象

const summary = {...obj1, ...obj2, ...obj3}

猜你喜欢

转载自blog.csdn.net/weixin_43881166/article/details/114847959