js常用小技巧 - javascript(js) commonly used skill
1.234 | 0
~~1.234
1.234 >> 0
数字字符串转number:
+'123'
new Date转时间戳:
+new Date()
数组/多维数组转逗号分隔字符串:
""+[1, 2 , 3, 3, [2, 3, 4]]
交换a,b的值:
var a=1;
var b=2;
[a, b] = [b, a];
console.log('a ===', a);
console.log('b ===', b);
取数组最大值:
Math.max(...[1,2,3])
生成时间:
new Date(...[2018,6,4])
字符串转数组:
[...'string']
另: Array.from('string')
合并对象:
let obj1 = {a:1, b:2};
let obj2 = {b:3, c:4};
Object.assign(obj1, obj2)
等同于
{...obj1, ...obj2}
数字前补0:
preFixNum(num, length) {
return (Array(length).join('0') + num).slice(-length);
}
数组元素为对象的去重:
[...new Set(arr.map(v => JSON.stringify(v)))].map(v => JSON.parse(v))
数组求和:
var arr = [1,2,3,4,5];
法1:
var sum = eval(arr.join('+'));
法2:
var sum = arr.reduce((prev,cur) => prev + cur);
金钱格式化:
let money = 11111;
法1:
money.toLocaleString('en-US');
法2:
Intl.NumberFormat().format(money)
短路逻辑代替if:
isTrue && console.log(1);
生成指定长度数组:
Array.from(new Array(10).keys());