今天事情比较轻松,突然看到之前自己遇到的一个问题,就是多重数组的降维去重的做法,刚好最近在看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方法等等。

转载于:https://www.cnblogs.com/abey/p/7794213.html

【多重数组降维的简单方法】相关推荐

  1. 打印Java数组的最简单方法是什么?

    在Java中,数组不会覆盖toString() ,因此,如果尝试直接打印一个,则将得到className +'@'+数组的hashCode的十六进制,如Object.toString()所定义: in ...

  2. 打印 Java 数组的最简单方法是什么?

    问: 在 Java 中,数组不会覆盖 toString(),因此如果您尝试直接打印一个,则会得到 className + '@' + 数组 hashCode 的十六进制,如 Object.toStri ...

  3. 数组的反转的简单方法

    为大家提供一个数组反转的简单方法,如下: array为定义的数组 for(int i=0,int j=array.length-1;i<j;i++,j--){int temp =0; temp= ...

  4. 一行代码实现数组降维去重排序

    接下来用到的方法,全部来自es6,不了解的同学可以先学习es6的相关知识. es6数组方法 话不多说,直接上代码 var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, ...

  5. php访问多重数组,PHP实现删除多重数组对象属性并重新赋值的方法

    本文实例讲述了PHP实现删除多重数组对象属性并重新赋值的方法.分享给大家供大家参考,具体如下: 实例:sphinx搜索出来的结果,要去掉某个属性值: $cl = new SphinxClient () ...

  6. python求数字平均值_Python简单计算数组元素平均值的方法示例

    本文实例讲述了Python简单计算数组元素平均值的方法.分享给大家供大家参考,具体如下: Python 环境:Python 2.7.12 x64 IDE : Wing IDE Professional ...

  7. python提取数组元素_python简单获取数组元素个数的方法

    python简单获取数组元素个数的方法 更新时间:2015年07月13日 17:54:46 作者:pythoner 这篇文章主要介绍了python简单获取数组元素个数的方法,实例分析了Python中l ...

  8. Python数组遍历的简单实现方法

    这篇文章主要介绍了Python数组遍历的简单实现方法,结合实例总结分析了Python针对数组的元素,索引常用遍历技巧,需要的朋友可以参考下 本文实例总结了Python数组遍历的简单实现方法.分享给大家 ...

  9. js 打散二维数组最简方法(JS数组降维的几种方法)

    var arr=[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16] ];1.arr=[].concat.apply([],arr);console.dir( ...

最新文章

  1. 从专利数量看全球最具创新力的50家公司
  2. python学习 01 变量
  3. 壳体有矩理论与实用计算机方法,《薄壳计算和理论》.pdf
  4. 天气预报的Ajax效果
  5. 理论基础 —— 排序 —— 逆序对问题
  6. 报告:2020年NFT总市值达5200万美元
  7. LoadRunner测试WebService的3种方式
  8. 【SVM回归预测】基于matlab布谷鸟算法优化SVM回归预测【含Matlab源码 1422期】
  9. 【收藏向】最全全栈工程师学习路径(基于Java)
  10. 成功在fedora 13 上安装 了libfetion
  11. 一年代码功能点的创新性怎么写_项目创新点怎么写
  12. win7开启远程桌面
  13. linux 64 输入法下载,搜狗输入法 for Linux
  14. 墨天轮沙龙 | 麦杰科技卢学东:openPlant 实时数据库系统及应用
  15. 正则系列4: re.sub用法
  16. 线下WINDOWS主机挂载华为云存储
  17. 深度学习之Deep Image CTR Model
  18. Matplotlib数据可视化画图
  19. 查询MIMIC-III
  20. 智能家居远程监控系统的设计及实现

热门文章

  1. 9.LeetCode第350题---两个数组的交集2
  2. 加法神经网络--AdderNet: DoWe Really Need Multiplications in Deep Learning?
  3. LeetCode 445. Add Two Numbers II--面试算法题--C++,Python解法
  4. Linux操作系统选择:Debian or Ubuntu
  5. GO语言教程1:Windows环境下GO语言的安装与配置
  6. EC2实例,EBS及EFS存储
  7. python实现观察者模式_观察者模式--python
  8. 2020-10-26runtime error: member access within null pointer of type ‘struct ListNode‘ (solution.cpp)错
  9. [k8s] 第四章 kubectl 命令行 实战入门
  10. 万字总结:学习MySQL优化原理,这一篇就够了!