如何优雅的将多个数组合并成一个数组(去重)
来源:互联网 发布:pandorabox 安装软件 编辑:程序博客网 时间:2024/05/22 09:04
本篇文章将纳入到常见JS算法中,笔者近期看到一篇关于常见JS算法原文地址这里写链接内容。
思考如何写一个方法将传递过来的多个未知个数的数组合并成一个数组并去除数组中的重复项?
这里会用到ES5的concat()方法和apply()方法,基础的for循环方法这里不进行阐述。
concat(arr1,arr2)方法接受多个数组元素,并将arr2中的元素拷贝到arr1
var arr1 = ['a', 'b', 'c'];var arr2 = ['d', 'e', 'f'];var arr3 = arr1.concat(arr2);// arr3 is a new array [ "a", "b", "c", "d", "e", "f" ]
apply()方法会调用一个函数,apply方法的第一个参数会作为被调用函数的this值,apply方法的第二个参数(一个数组,或类数组的对象)会作为被调用对象的arguments值,也就是说该数组的各个元素将会依次成为被调用函数的各个参数。
export function concatArray(){ let newArr = Array.prototype.concat.apply([], arguments)//没有去重复的新数组 return Array.from(new Set(newArr))}const a1 = concatArray([1,2],[1,2,3]);console.log('new arr',a1)//[1,2,3]const a2 = concatArray([1],[1,2,3],[4,3,6],[2,5,7]);console.log('new arr',a2)//[1,2,3,4,6,5,7]
这个方法是参考他人的思想转化过来的,其中Set()和Array.from()是ES6的方法,详情请读者自行搜索ES6手册。
附:ES6的…操作符是否可以用来更加简便的完成这个玩法,还在思考中,假如有读者知道的话,欢迎留言分享。
阅读全文
0 0
- 如何优雅的将多个数组合并成一个数组(去重)
- PHP 对多个数组合并去重&以及数组键值的翻转
- js2个数组合并并去重
- java 多个数组合并成一个数组,一个数组分割成多个数组!
- php中多个数组合并为一个数组
- js通过使用Set对象,将多个数组合并且去重排序(ECMAscript 6)
- 多个数组合并为一个数组的方法与性能
- 将多维数组变成一维数组并去重
- 将一个整数列表去重并输出
- 数组如何去重
- 编写一个数组去重的方法
- javascript 数组去重并统计原数组每个元素个数
- (lodash_gcy)union—将给定的几个数组的唯一元素组合成一个数组
- 将数组中的元素去重,并保持数组元素原顺序输出 要求时间复杂度尽可能的小
- 将一个Arraylist去重
- 两个数组合并成新数组,并去重
- PHP多个数组合并(递归的进行)
- hashset将list去重并拼接成字符串
- 18. PHP bcompiler
- ptam依赖
- postgresql 查看数据库,表,索引,表空间以及大小
- PTA-根据后序和中序遍历输出先序遍历(25 分)
- ubuntu下如何在spyder上输入汉字
- 如何优雅的将多个数组合并成一个数组(去重)
- linux os 安装 rsync
- 概率占据图(POM)算法理解
- C/C++笔试、面试题
- 数据库索引--SQL语句执行效率、分析及优化
- Android面试宝典-不定期更新
- Python基础(六)函数作用域
- 《Python网络数据采集》第五章(阅读代码笔记)
- JavaScript<一>