1. 程式人生 > 其它 >js 實用小技巧

js 實用小技巧

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 保留一定小數位

toFixed(Number)

: 四捨六入五考慮,五後非零就進一,五後為零看奇偶,五前為偶應捨去,五前為奇要進一。

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

js 轉換為二進位制

toString(Number):

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

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 二進位制轉為十進位制

parseInt(二進位制字串,2):

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

js 時間數不足兩位前面補零

padStart:

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