js 判断值大于-1

~ :位非--类似取负数并-1
-1 = -(-1) - 1
let str = "index";
if(~str.indexOf('r')){}

js 去除数据的最外层引号

new Function():在使用时,编译器会将参数中的字符串当作正常的脚本代码来执行。

new Function('return ' + '0.34')();  //0.34
new Function('return ' + '{"name":"admin","age":"18"}')();  //{name:'admin',age:'18'}

js 拷贝对象/数组

...: 展开语法(Spread syntax), 可以在函数调用/数组构造时, 将数组表达式或者string在语法层面展开

let obj = {'name':'admin','age':18,'hobbies':[{'name':'run'},{'name':'sing'}]};
let copyObj = {...obj};  // {name: 'admin', age: 18, hobbies: Array(2)}


let arr = [{'name':'admin1','age':18,'tags':{'name':'young'}},{'name':'admin2','age':18,'tags':{'name':'young'}}];
let copyArr = [...arr];  // (2) [{…}, {…}]


let arr1 = [{'name':'admin1','age':18,'hobbies':[{'name':'run'},{'name':'sing'}]},{'name':'admin2','age':18,'hobbies':[{'name':'run'}]}];
let copyArr1 = [...arr];  // (2) [{…}, {…}]

js 保留一定小数位

toFixed(Number): 四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。

100.toFixed(2); //'100.00'

js 转换为二进制

toString(Number): 返回Number对象的字符串表示形式。 它接受一个可选参数来设置基数。

Number(10).toString(2);  //'1010'

js 二进制转为十进制

parseInt(二进制字符串,radix = 2):可解析一个字符串,并返回一个整数。

parseInt('1010',2);  //10

js 时间数不足两位前面补零

padStart(length , padString): 字符串不足要求的长度时会在字符串前面重复加上补充的字符串。

'3'.padStart(2,'0');  //'03'