js数组合并、去重、降维(ES6:扩展运算符、Set)

本文介绍了JavaScript中数组合并、去重和降维的方法,重点讲解了使用concat()、扩展运算符以及Set实现去重,还有如何利用flat()方法进行数组降维。通过Set的互异性特性,可以方便地去除数组中的重复元素,而flat()则能有效地将多维数组转换为一维。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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。
返回值
一个包含将数组与子数组中所有元素的新数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值