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

  1. array=> Set
    new Set(array)
  2. 第二步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)相关推荐

  1. JS数组对象去重,ES6最简数组去重

    JS数组对象去重,ES6最简数组去重 // 测试数据 // 比如我们处理 value 的去重 var arrList = [{key: 1, value: "aaa"},{key: ...

  2. 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 ...

  3. ES6 - 扩展运算符与Object.assign对象拷贝与合并

    文章目录 扩展运算符能做什么? 什么是深浅拷贝 使用ES6扩展运算符 对象浅拷贝 对象合并 Object.assign Object.assign详解 Object.assign()实用 给对象添加属 ...

  4. ES6扩展运算符的几个小技巧

    es6扩展运算符,也就是...  ,作用是将一个数组转为用逗号分隔的参数序列. 那么问题来了,我们为啥要用这么奇怪的东东涅,当然因为它能大大提高我们的开发效率.所以,可别小看这三个点. 1.复制数组( ...

  5. js 数组合并的方式

    js 数组合并 let arr1 = ['温情', '刘聪'] let arr2 = ['杨和苏', '邓紫棋'] let arr3 = ['周延'] 1. arr1.concat(arr2, ··· ...

  6. ES6——扩展运算符(...)

    文章目录 一.扩展运算符(...) 二.数组扩展运算符的应用 1.合并数组 2.与解构赋值结合 3.字符串转数组 4.实现了 Iterator 接口的对象 5.Map 和 Set 结构, Genera ...

  7. JS数组合并的7种常见方法

    前言 项目过程中,经常会遇到 JS 数组合并的情况,时常为这个纠结.这里整理一下 1.ES6解构 [-arr, -arr2] 会生成新的数组 let arr = [1, 2] let arr2 = [ ...

  8. 数组拼接html js,js数组合并的几种方法

    JS合并数组的几种方法及优劣比较 var datas = [ ['红色', '蓝色'], ['XL'], ['图片', '文字'] ]; 如何 将let datas = [[1, 2], [3,0,5 ...

  9. JS数组合并(5种)

    前言 项目过程中,经常会遇到 JS 数组合并的情况,时常为这个纠结.这里整理一下. 简单而实用的for 最容易想到的莫过于 for 了. 会变更原数组,当然也可以写成生成新数组的形式. 经读者提点,数 ...

最新文章

  1. 华人博士发127页长文:自然语言处理中图神经网络从入门到精通
  2. 利用ComponentWillReceiveProps解决异步问题
  3. python coding_python开头的coding设置方法
  4. mpeg2,mpeg4,h264编码标准的异同
  5. python主要用于做什么-python主要用于哪些方向
  6. python画布位置_如何调整tkinter画布的位置
  7. pythonurllib的使用_python re和urllib的使用问题。
  8. Hibernate初步
  9. Mysql中实现多表关联查询更新操作
  10. NYOJ Dinner
  11. 解决Apex英雄下载慢、origin平台下载打开的究极3种方法
  12. 如何将c语言编译成动态链接库,将C语言源代码编译成动态链接库
  13. java飞机大战boss素材_java小游戏飞机大战 源代码以及素材
  14. PB50打印机测试结果:霍尼韦尔 、intermec 打印机不能买
  15. Steam WIN+R喜加一游戏管理工具 Steam Code Manager
  16. c语言超市选址问题实验报告,单仓库设施选址决策方法(重心法,C语言代码)
  17. SegmentFault 社区访谈 | Felix:一个如同空气般存在的人
  18. unittest之TestResult类详解
  19. JAVA计算机毕业设计演唱会购票系统计算机(附源码、数据库)
  20. 怎么把pdf格式转成word文档?如何将 PDF 转换为 Word

热门文章

  1. Python对Excel文件一键多值求和(1)
  2. 男性耳鸣是什么原因引起的
  3. 新款英特尔11代笔记本电脑,吃鸡真香!
  4. 使用Ad Rotator组件的问题
  5. Authorize---支付
  6. 三位一体:打造软硬服一体化的区块链平台
  7. LCD12864(ST7920芯片)
  8. fiddler网络换算
  9. 智能电销机器人是您的不二之选《各版本机器人部署》
  10. Python print输出不换行没空格