添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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.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。它类似于数组,但是成员的值都是唯一的,没有重复的值。
有点数学中集合的互异性的意思:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。

降2维数组降到1维,使用flat()

function double_to_one(collection) {
  return collection.flat();

3.1 flat() 方法

flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
语法

var newArray = arr.flat([depth])

参数
depth 可选
指定要提取嵌套数组的结构深度,默认值为 1。
返回值
一个包含将数组与子数组中所有元素的新数组

js数组合并、去重、降维1.合并1.1使用concat()进行合并数组function get_union(collection_a, collection_b) { return collection_a.concat(collection_b)}1.2使用…(扩展运算符)进行合并数组function get_union(collection_a, collection_b) { return [...collection_a,...collection_b]}2.去重fun  var unionSet = new Set();  //将当前集合转换为数组,并依次添加进unionSet  var values = Array.from(thisSet);  for (var i = 0; i &lt; values....
集合(Set) 同数学中所学的一样,集合(Set)是由一组无序但彼此之间又有一定关系性的成员构成,每个成员在集合中只能出现一次,它是一种包含了不同元素的数据结构(集合中的元素称为成员),从其定义中我们可以看出它具有两个很重要的特征:首先,集合中的成员是无序的,其次,集合中的成员是不相同的,即集合中不存在相同的成员。 实际上,很多编程语言中,集合并不是一种数据类型,但是如果你需要创建一个数据结构用来保存一些独一无二的元素时,集合就变得很有用了,接下来我们一起来看看JS中如何实现一个集合。 集合的定义 function uq(array) { var del = []; for (var i = 0, arrayLen = array.length; i < arrayLen; i++) { for (var j = 0, delLen =
数组降维,很多都是二维数组转一维数组,但随着大数据时代的来临,很多都是多为数组,多为数组如何降维,下面将一一分析1.二位数组降维var arr=[1,2,[3,4,5]] Array.prototype.concat.apply([],arr)//[1,2,3,4,5]这里利用的是apply,方法,自动打散参数,再concat拼接, 但这种方法,只能解决一层降维,虽然apply传递的参数,是数组形
这次对数组的操作,我们使用es6的新语法来完成,所以在看下边代码之前,我们要了解我们下边要用到的es6中的set集合,和for...of 方法: 首先介绍set集合: ES6提供了新的数据结构Set,它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。 向set加入值的时候,不会发生类型转变,所以 5 和 '5...
JavaScript中,可以利用Set对象来实现数组对象的去重Set对象是ES6中新增的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。 具体实现步骤如下: 1. 首先,将数组对象转换为Set对象。 例如,假设有一个数组对象arr,可以通过以下代码将其转换为Set对象: ```javascript let uniqueSet = new Set(arr); 2. 接着,再将Set对象转换回数组对象。 可以使用Array.from()方法或者扩展运算符(...)来实现: ```javascript let uniqueArr = Array.from(uniqueSet); // 或者 let uniqueArr = [...uniqueSet]; 这样就得到了去重后的数组对象uniqueArr。 如果要去掉前面的重复项,即只保留最后一次出现的项,可以使用数组的reverse()方法将数组顺序倒转,然后再进行去重操作。 示例代码如下: ```javascript let reverseArr = arr.reverse(); // 将数组倒序 let uniqueSet = new Set(reverseArr); // 得到去重后的Set对象 let uniqueArr = Array.from(uniqueSet); // 将Set对象转换为数组 let resultArr = uniqueArr.reverse(); // 将数组再次倒序,即可得到去掉前面的重复项的最终结果 以上就是利用Set对象进行数组对象去重的方法,并去掉前面的重复项的解决方案。