标签: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