多重数组降维的简单方法
Posted Amylee_style
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多重数组降维的简单方法相关的知识,希望对你有一定的参考价值。
今天事情比较轻松,突然看到之前自己遇到的一个问题,就是多重数组的降维去重的做法,刚好最近在看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方法等等。
以上是关于多重数组降维的简单方法的主要内容,如果未能解决你的问题,请参考以下文章