javascript中数组化的平常看法

数组化

浏览器中存在很多类数组对象,每每对类数组操纵比较贫苦,没有数组那些异常轻易的要领,在这类情况下,就有了数组化要领。

数组化的平常要领

1.第一种也是我们最常见的的要领,[].slice.call要领

function toArray(obj){
    return [].slice.call(obj);
    //Array.prototype.slice.call();
}

Ps:这类要领,实在就是援用要领,解释的部分为完整写法,返回的就是一个数组对象。

2.第二种要领自创的是jq中的makeArray要领

function makeArray(obj){
    var target = [];
    if(obj != null){
        var i = obj.length;
        if(i = null || typeof obj === 'string' || typeof obj === 'function' || obj.setInterval){//假如是字符串、函数win对象,就把这个元素付给建立数组的第一个元素返回出去;
            target[0] = obj;
        }else{//假如不是以上那些元素,经由过程轮回把obj中每个赋给target的每个索引;
            while(i){
                target[--i] = obj[i];
            }
        }
    }
return target;

}
3.第三种要领

function $arr(ele) {
      if (!ele){
        return [];
      } 
      if (ele.toArray){
        return ele.toArray();
      } 
      var length = ele.length || 0, results = new Array(length);

      while (length--){
        results[length] = ele[length];
      } 
      return results;
    }

ps:另有大批的数组化要领,在这里我就不逐一说清楚明了,今后还会雄厚这个数组化的申明。本日就到这吧

    原文作者:zasqw2222
    原文地址: https://segmentfault.com/a/1190000002428362
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞