码迷,mamicode.com
首页 > 编程语言 > 详细

【多重数组降维的简单方法】

时间:2017-11-06 18:02:15      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:length   app   style   基础   比较   i++   list   方法   简单   

  今天事情比较轻松,突然看到之前自己遇到的一个问题,就是多重数组的降维去重的做法,刚好最近在看javascript的设计模式这本书,里面介绍了很多面向对象和封装的设计,于是我便自己在编辑器上实践了一下,发现了一个新的方法就是Array.prototype.concat..apply([],arr),之前接触过这个方法的衍生是将伪数组变成真正的数组,就用到了Array.prototype.slice.call(arr)的方法,这里的call和apply都是指向对象的值的做法,在这里都可以组成新的数组,下面是我写的代码:

  

var list = [[1,2,3],[7,8],2,[4,[9]],[3,[6,[3,2]]]];
    var result;
    var isArray = function(data){
      for (var i = 0; i < data.length; i++) {
        if (data[i] instanceof Array) {
          return true;
        }
      }
    }
    var fuc = function(arr){
      return Array.prototype.concat.apply([],arr);
    }
    var arrFuc = function(array){
      if (isArray(array)) {
        arrFuc(fuc(array));
        return;
      }
      result = array;
    }
    arrFuc(list);
    console.log("result",result);

大概的用法是这样操作的,去重就是在最后得到值的基础上用sort方法等等。

【多重数组降维的简单方法】

标签:length   app   style   基础   比较   i++   list   方法   简单   

原文地址:http://www.cnblogs.com/abey/p/7794213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!