奇淫技巧
lwcai

javaScript 奇淫技巧

1.论如何最佳的让两个整数交换数值

常规办法:

var a=1,b=2;
a += b;
b = a -b;
a -= b;

ES6:

var a=1,b=2;
[a,b] = [b,a];

2.如何优雅的实现金钱格式化:1234567890 –> 1,234,567,890

正则魔法:

var test1 = '1234567890'
var format = test1.replace(/\B(?=(\d{3})+(?!\d))/g, ',')

console.log(format) // 1,234,567,890

toLocaleString() 方法,把数组转换为本地字符串。

(1234567890).toLocaleString('en-US');

3.ES6 数组去重

[...new Set([1,"1",1,1,2,3])];

4.用最短的代码实现一个长度为n且值都为m的数组

Array(6).fill(8);

5.取出一个数组中的最大值和最小值

var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411]; 
var maxInNumbers = Math.max.apply(Math, numbers);
var minInNumbers = Math.min.apply(Math, numbers);

6.论如何优雅的取随机字符串

Math.random().toString(16).substring(2) // 13位
Math.random().toString(36).substring(2) // 11位

7.单行写一个评级组件

"★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);定义一个变量rate是1到5的值
var rate = 2; //"★★☆☆☆"
 Comments