全网一行 JavaScript 代码搞定实例!

147 阅读1分钟

最近发现还是有很多一行代码实现的功能,在这里分享一下,这里有一些是公众号或者网友文章分享出来,我这边整理一下,以后会持续更新中。。。。 如果你上面没有方法,也可以评论在下面,我会整理到这个文章里面的, 最后觉得有帮助记得点赞关注一下,谢谢了!!!

获取随机布尔值 (true/false)

Math.random()会返回 0 到1之间随机的数字,因此可以利用返回值是否比 0.5小来返回随机的布尔值。

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

反转字符串

结合数组的反转方法,可以反转字符串:

const reverse = str => str.split('').reverse().join('');
reverse('hello world');     
// Result: 'dlrow olleh'

数组去重

面试常考题,就是用Set。

let removeDuplicates = arr => [...new Set(arr)];
console.log(removeDuplicates(['foo', 'bar', 'bar', 'foo', 'bar']));
 // ['foo', 'bar']

判断数字奇偶

用% 2判断就行

const isEven = num => num % 2 === 0;
console.log(isEven(2));
// Result: true
console.log(isEven(3));
// Result: false

数字截断小数位

需要截断浮点数的小数位(不是四舍五入),可以借助 Math.pow() 实现:

const toFixed = (n, fixed) => ~~(Math.pow(10, fixed) * n) / Math.pow(10, fixed);
// Examples
toFixed(25.198726354, 1);       // 25.1
toFixed(25.198726354, 2);       // 25.19

滚动到页面顶部

window.scrollTo() 方法接受x和y坐标参数,用于指定滚动目标位置。全都设置为 0,可以回到页面顶部。注意:IE 不支持 .scrollTo()方法。

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

求平均值

reduce的典型应用场景:数组求和。

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