TAG

首都機能移轉 (2) 歌詞 (2) 靠北文 (40) 戲言 (30) 糟糕 (7) ACG (23) Assembly (2) Boost (2) C (31) C++ (69) CMake (4) CSIE (67) Debian (34) Design_Pattern (2) Django (1) Eclipse (1) en_US (13) FFmpeg (3) FoolproofProject (26) FreeBSD (2) Git (4) GNU_Linux (65) IDE (5) Java (11) JavaScript (19) KDE (15) Khopper (16) KomiX (3) Kubuntu (18) Life (1) Lighttpd (2) Mac_OS_X (2) Opera (1) PHP (2) PicKing (2) Programing (21) Prolog (1) Python (7) QSnapshot (2) Qt (30) Qt_Jambi (1) Regular_Expression (1) Shell_Script (7) Talk (98) VirtualBox (7) Visual_Studio (13) Windows (18) zh_TW (36)

2009年6月22日 星期一

如何讓你的程式更難理解(4)

// unique values
var c = [];
// random shuffled keys
var rsk = [];
( function( functor ) {
    jQuery.each( tags, function( key, value ) {
        // random shuffle or just copy. tags -> rsk
        functor( key );
        // unique array to c
        if( jQuery.inArray( value, c ) < 0 ) {
            c.push( value );
        }
    } );
} )( Blog.TagCloud.shuffle ? function( key ) {
    rsk.splice( Math.floor( Math.random() * ( rsk.length + 1 ) ), 0, key );
} : function( key ) {
    rsk.push( key );
} );
以上是我的標籤雲實作的其中一小段,tags 是(標籤,文章數量)的集合,c 放的是不重複的文章數量,Blog.TagCloud.shuffle 是設定要不要打亂標籤的順序,rsk 放的是處理後的標籤順序。
暮然回首才發現我寫出這種東西...= =

2 則留言:

  1. 我是不是該來學 JavaScript 了 XD

    回覆刪除
  2. JavaScript(ECMAScript) 除了沒 hash 有點鳥之外,真的是表達力很強的一個語言,強力推薦 XD

    回覆刪除