1正林,使用js過程中,有一個(gè)需求颤殴,是超長的數(shù)據(jù)觅廓,10進(jìn)制到16進(jìn)制互轉(zhuǎn),,
2涵但,由于本人有壓縮代碼的強(qiáng)烈欲望杈绸,故將自己寫的一個(gè)函數(shù)極限壓縮到了一行,
3矮瘟,本人覺得瞳脓,壓縮代碼能夠鍛煉寫代碼的精簡程度,
4澈侠,大家要是有更多的壓縮方向劫侧,可以提交代碼,大家一起瞧瞧
function $10To16($num) {
// let $list = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
// return $num > 1 ? $10To16(BigInt($num / 16n)) + st : st;
// let st = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' ][$num % 16n];
// return ($num > 1 ? $10To16($num / 16n) : '') + ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g'][$num % 16n];
? ? return (($n2 = $num /16n) &&$n2 >0 ?$10To16($n2) :'') + ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'][$num %16n];
}
$ = $num => (($n2 = $num /16n) &&$n2 >0 ?$($n2) :'') + ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'][$num %16n];
console.log($10To16(BigInt('100000000000000000000000000000000000000000000000000000000000000')));
console.log($(BigInt('100000000000000000000000000000000000000000000000000000000000000')));
又刪除了一段 烧栋,這個(gè)更短,
$ = $num => (($n2 = $num /16n) ?$($n2) :'') + ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'][$num %16n];
這個(gè)最短拳球,歡迎測試审姓,
$ = $0 => (($1 = $0 /16n) ?$($1) :'') + String.fromCharCode(($2 = Number($0 %16n)) >9 ?$2 +87 :$2 +48);