フロントエンドの仕事でよく使われる経験テクニック(二)

4316 ワード

  • jsonにpushメソッドを追加します.
    var _json={};
    
    
    
    _json.push=function(o){   
    
            if(typeof(o)=='object') for(var p in o) this[p]=o[p];  
    
        };
    
    
    
    //
    
    
    
    var a = {"1":"a"};
    
    
    
    var b = {"2":"b"};
    
    
    
    _json.push(a);
    
    
    
    _json.push(a);

  • Jqueryはjsonが空かどうかを判断します.
    $.isEmptyObject(_json)
    
    
    
    //
    
    
    
    var a = {},b={"a":"1"};
    
    
    
    $.isEmptyObject(a)    // true
    
    
    
    $.isEmptyObject(b)    // false

  • Arrayの追加方法で、配列に要素が含まれているかどうかを判断します.
    Array.prototype.contains = function(obj) { 
    
      var i = this.length; 
    
      while (i--) { 
    
        if (this[i] === obj) { 
    
          return true; 
    
        } 
    
      } 
    
      return false; 
    
    }
    
    
    
    //     
    
    
    
    var a = [a,b,c,d];
    
    
    
    a.contains(e)   // false
    a.contains(b)  // true

  • 配列のsort関数を変更して、指定したルールに従って並べ替えます:(ps:元のsortのデフォルトは配列内の要素のASCIIによって並べ替えられます)
    //                 
    
    var compare = function (x, y) {
    
        if (x < y) {
    
            return -1;
    
        } else if (x > y) {
    
            return 1;
    
        } else {
    
            return 0;
    
        }
    
    }
    
    
    
    //     
    
    
    
    var a = [2,1,43,12,8];
    
    
    
    //   
    
    
    
    a.sort()                    //  1,12,2,43,8
    
    
    
    //    
    
    
    
    a.sort(compare)     //  1,2,8,12,43

  • 未完待续....