1.如何裝逼用代碼罵別人SB
(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]
2.如何用代碼優雅的證明自己NB
([][[]]+[])[+!![]]+([]+{})[!+[]+!![]]
3.另外一種undefined
var data = void 0; // undefined
4.論如何優雅的向下取整
var a = ~~2.33 //這種方法還可以將字符串轉換成數字類型
var b= 2.33 | 0
var c= 2.33 >> 0
5.如何優雅的實現金錢格式化:1234567890 –> 1,234,567,890
var test1 = '1234567890'
var format = test1.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
console.log(format) // 1,234,567,890
非正則的優雅實現:
function formatCash(str) {
return str.split('').reverse().reduce((prev, next, index) => {
return ((index % 3) ? next : (next + ',')) + prev
})
}
console.log(formatCash('1234567890')) // 1,234,567,890
6.打亂一個數字數組的順序
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];
numbers = numbers.sort(function(){ return Math.random() - 0.5});
/* the array numbers will be equal for example to [120, 5, 228, -215, 400, 458, -85411, 122205] */
7.保留指定位數的小數點
var num = 2.443242342;
num = num.toFixed(4); // num will be equal to 2.4432
注意, toFixed()
方法返回的是字符串而不是一個數字。