您的位置:

JS合并两个数组并去重

一、JS合并两个数组

在JS中,可以使用concat()方法将两个数组合并成一个新数组。concat()方法不会改变原数组。示例如下:


const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = arr1.concat(arr2);
console.log(arr3); //[1, 2, 3, 4, 5, 6]

二、JS合并两个有序数组

如果需要将两个有序数组合并成一个有序数组,可以使用归并排序法。基本思路是将两个有序数组从头开始比较,将较小的数存入新数组中,并将相应的指针移动一个位置。具体实现如下:


function mergeArr(arr1, arr2) {
  const result = [];
  let i = 0,
    j = 0;
  while (i < arr1.length && j < arr2.length) {
    if (arr1[i] < arr2[j]) {
      result.push(arr1[i++]);
    } else {
      result.push(arr2[j++]);
    }
  }
  while (i < arr1.length) {
    result.push(arr1[i++]);
  }
  while (j < arr2.length) {
    result.push(arr2[j++]);
  }
  return result;
}

const arr1 = [1, 3, 5, 7];
const arr2 = [2, 4, 6, 8];
const arr3 = mergeArr(arr1, arr2);
console.log(arr3); //[1, 2, 3, 4, 5, 6, 7, 8]

三、JS两个数组合并成一个数组

如果两个数组中可能存在相同的元素,可以使用concat()方法将两个数组合并,再使用Set去重。Set是ES6中引入的一种新的数据结构,它类似于数组,但是只能储存唯一的值。具体实现如下:


const arr1 = [1, 2, 3];
const arr2 = [2, 3, 4];
const arr3 = Array.from(new Set(arr1.concat(arr2)));
console.log(arr3); //[1, 2, 3, 4]

四、JS数组去重合并、数组合并去重

如果要直接对已有数组进行去重合并或者合并去重,可以使用Set和扩展运算符。具体实现如下:


const arr1 = [1, 2, 3];
const arr2 = [2, 3, 4];

//数组去重合并
const arr3 = Array.from(new Set([...arr1, ...arr2]));
console.log(arr3); //[1, 2, 3, 4]

//数组合并去重
const arr4 = [...new Set([...arr1, ...arr2])];
console.log(arr4); //[1, 2, 3, 4]

五、JS把两个数组对象合并

如果两个数组中的元素是一个个对象,则需要按照对象的某个属性进行去重。可以将对象转换为字符串再使用Set去重,最后再将字符串重新转换为对象。具体实现如下:


const arr1 = [{id: 1, name: 'Tom'}, {id: 2, name: 'Jerry'}];
const arr2 = [{id: 2, name: 'Jerry'}, {id: 3, name: 'Lucy'}];

//按照id进行去重合并
const arr3 = Array.from(new Set([...arr1.map(JSON.stringify), ...arr2.map(JSON.stringify)])).map(JSON.parse);
console.log(arr3); //[{id: 1, name: 'Tom'}, {id: 2, name: 'Jerry'}, {id: 3, name: 'Lucy'}]

JS合并两个数组并去重

2023-05-23
重学java笔记,java笔记总结

2022-11-23
JS数组合并

2023-05-16
JS合并数组

2023-05-17
印象笔记记录java学习(Java成长笔记)

2022-11-12
从多个方面详细阐述数组合并去重

2023-05-19
js高级程序设计笔记14(js高级程序设计笔记14页)

本文目录一览: 1、JavaScript高级程序设计 该怎么看 2、JavaScript学习笔记之数组基本操作示例 3、JS中有关sort以及return的问题 JavaScript高级程序设计 该怎

2023-12-08
python基础学习整理笔记,Python课堂笔记

2022-11-21
numpy数组合并

2023-05-10
java合并数组,java合并数组去重排序

2023-01-07
java学习笔记(java初学笔记)

2022-11-14
java方法整理笔记(java总结)

2022-11-08
js待办事项列表添加删除代码的简单介绍

本文目录一览: 1、“点击此处可添加笔记”的代码怎么写 2、js动态添加、删除html代码 3、vivo手机便签怎么一起删 “点击此处可添加笔记”的代码怎么写 输入符号就可以了第一步打开手机,点击备忘

2023-12-08
javascript简要笔记,JavaScript读书笔记

2022-11-17
java笔记,尚硅谷java笔记

2022-12-01
htmljs编程笔记(html代码笔记)

本文目录一览: 1、html代码和JS代码有什么区别 2、如何在html中调用js函数 3、JavaScript学习笔记之数组基本操作示例 4、HTML5初学者笔记 5、《web前端笔记7》js字符—

2023-12-08
java笔记,大学java笔记

2022-11-28
php组合数组,Php数组合并

2022-11-27
js一个数组去重复的数据库,js数组找到重复次数最多的

本文目录一览: 1、js去掉数组中重复的元素 2、js怎么去除数组中的重复的数据 3、js中怎么去除数组中重复的数据 4、js删除数组中重复的值 5、Js中去除数组中重复元素的几种方法 js去掉数组中

2023-12-08
java基础知识学习笔记一,Java基础笔记

2022-11-21