JS 메소드 컬렉션

2313 단어 Web

JS 메소드 컬렉션

  • 고정구간에서 n개의 중복되지 않는 정수 0-9 사이에서 3개를 취한다
  • new Array(10).fill(0).map(function(v,i){return (i)}).sort(function(v,i){return  0.5-Math.random()}).filter(function(v,i){return i < 3})
    
  • 숫자를 아래로 정정합니다
  • function getInt(num){
        var rounded;
        rounded = (0.5 + num) | 0;
        return rounded;
    }
    //~~ , Math.floor() , 。
    // , , ; , ; 0
    ~~false;     // => 0
    ~~true;      // => 1
    ~~1.9;       // => 1
    ~~-1.9;      // => -1
    
  • 기우 판단
  • const isOdd = num => !!(num & 1)
    
    //Array map filter ES6 
    // 
    if (!Array.prototype.map) {
      Array.prototype.map = function(callback, thisArg) {
        var T, A, k;
        if (this == null) {
          throw new TypeError(" this is null or not defined");
        }
        var O = Object(this);
        var len = O.length >>> 0;
        if (Object.prototype.toString.call(callback) != "[object Function]") {
          throw new TypeError(callback + " is not a function");
        }
        if (thisArg) {
          T = thisArg;
        }
        A = new Array(len);
        k = 0;
        while(k < len) {
          var kValue, mappedValue;
          if (k in O) {
            kValue = O[ k ];
            mappedValue = callback.call(T, kValue, k, O);
            A[ k ] = mappedValue;
          }
          k++;
        }
        return A;
      };
    }
    
    if (!Array.prototype.filter){
      Array.prototype.filter = function(fun /* , thisArg*/)
      {
        "use strict";
        if (this === void 0 || this === null)
          throw new TypeError();
        var t = Object(this);
        var len = t.length >>> 0;
        if (typeof fun !== "function")
          throw new TypeError();
        var res = [];
        var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
        for (var i = 0; i < len; i++)
        {
          if (i in t)
          {
            var val = t[i];
    
            // NOTE: Technically this should Object.defineProperty at
            //       the next index, as push can be affected by
            //       properties on Object.prototype and Array.prototype.
            //       But that method's new, and collisions should be
            //       rare, so use the more-compatible alternative.
            if (fun.call(thisArg, val, i, t))
              res.push(val);
          }
        }
        return res;
      };
    }
    

    좋은 웹페이지 즐겨찾기