js数组合并、去重、降维(ES6:扩展运算符、Set)
js数组合并、去重、降维
1.合并
1.1使用concat()进行合并数组
function get_concat(collection_a, collection_b) {return collection_a.concat(collection_b)
}
1.2使用…(扩展运算符)进行合并数组
function get_concat(collection_a, collection_b) {return [...collection_a,...collection_b]
}
2.去重
2.1使用for
function get_union(array) {let temp = [] for (let i = 0; i < array.length; i++) {if (temp.indexOf(array[i]) == -1) {temp.push(array[i])}}return temp}
2.2使用扩展运算符、Set
function get_union(collection) {return [...new Set(collection)]
}
思路是array=> Set => array
- array=> Set
new Set(array) - 第二步Set => array
[…Set]
ps:ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
有点数学中集合的互异性的意思:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。
3.降维
降2维数组降到1维,使用flat()
function double_to_one(collection) {return collection.flat();
}
3.1 flat() 方法
flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
语法
var newArray = arr.flat([depth])
参数
depth 可选
指定要提取嵌套数组的结构深度,默认值为 1。
返回值
一个包含将数组与子数组中所有元素的新数组。
js数组合并、去重、降维(ES6:扩展运算符、Set)相关推荐
- JS数组对象去重,ES6最简数组去重
JS数组对象去重,ES6最简数组去重 // 测试数据 // 比如我们处理 value 的去重 var arrList = [{key: 1, value: "aaa"},{key: ...
- js数组合并es5和es6方法
es5数组合并方法 var a1[2,2,3]; var a2[4,4,4]; a1.concat(a2); //[2,2,3,4,4,4] es6合并数组 var a1[2,2,3]; var a2 ...
- ES6 - 扩展运算符与Object.assign对象拷贝与合并
文章目录 扩展运算符能做什么? 什么是深浅拷贝 使用ES6扩展运算符 对象浅拷贝 对象合并 Object.assign Object.assign详解 Object.assign()实用 给对象添加属 ...
- ES6扩展运算符的几个小技巧
es6扩展运算符,也就是... ,作用是将一个数组转为用逗号分隔的参数序列. 那么问题来了,我们为啥要用这么奇怪的东东涅,当然因为它能大大提高我们的开发效率.所以,可别小看这三个点. 1.复制数组( ...
- js 数组合并的方式
js 数组合并 let arr1 = ['温情', '刘聪'] let arr2 = ['杨和苏', '邓紫棋'] let arr3 = ['周延'] 1. arr1.concat(arr2, ··· ...
- ES6——扩展运算符(...)
文章目录 一.扩展运算符(...) 二.数组扩展运算符的应用 1.合并数组 2.与解构赋值结合 3.字符串转数组 4.实现了 Iterator 接口的对象 5.Map 和 Set 结构, Genera ...
- JS数组合并的7种常见方法
前言 项目过程中,经常会遇到 JS 数组合并的情况,时常为这个纠结.这里整理一下 1.ES6解构 [-arr, -arr2] 会生成新的数组 let arr = [1, 2] let arr2 = [ ...
- 数组拼接html js,js数组合并的几种方法
JS合并数组的几种方法及优劣比较 var datas = [ ['红色', '蓝色'], ['XL'], ['图片', '文字'] ]; 如何 将let datas = [[1, 2], [3,0,5 ...
- JS数组合并(5种)
前言 项目过程中,经常会遇到 JS 数组合并的情况,时常为这个纠结.这里整理一下. 简单而实用的for 最容易想到的莫过于 for 了. 会变更原数组,当然也可以写成生成新数组的形式. 经读者提点,数 ...
最新文章
- 华人博士发127页长文:自然语言处理中图神经网络从入门到精通
- 利用ComponentWillReceiveProps解决异步问题
- python coding_python开头的coding设置方法
- mpeg2,mpeg4,h264编码标准的异同
- python主要用于做什么-python主要用于哪些方向
- python画布位置_如何调整tkinter画布的位置
- pythonurllib的使用_python re和urllib的使用问题。
- Hibernate初步
- Mysql中实现多表关联查询更新操作
- NYOJ Dinner
- 解决Apex英雄下载慢、origin平台下载打开的究极3种方法
- 如何将c语言编译成动态链接库,将C语言源代码编译成动态链接库
- java飞机大战boss素材_java小游戏飞机大战 源代码以及素材
- PB50打印机测试结果:霍尼韦尔 、intermec 打印机不能买
- Steam WIN+R喜加一游戏管理工具 Steam Code Manager
- c语言超市选址问题实验报告,单仓库设施选址决策方法(重心法,C语言代码)
- SegmentFault 社区访谈 | Felix:一个如同空气般存在的人
- unittest之TestResult类详解
- JAVA计算机毕业设计演唱会购票系统计算机(附源码、数据库)
- 怎么把pdf格式转成word文档?如何将 PDF 转换为 Word