js两个数组相同的合并一个新数组
时间: 2024-10-18 22:15:26 浏览: 13
在JavaScript中,如果你有两个数组想要合并成一个新的数组,你可以使用`concat()`方法、扩展运算符(`...`) 或者`push()`方法结合`slice()`方法。以下是几种常见的方式:
1. 使用 `concat()`: 这是最直接的方法,它不会改变原数组,返回的是一个新数组。
```javascript
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let mergedArr = arr1.concat(arr2); // mergedArr: [1, 2, 3, 4, 5, 6]
```
2. 扩展运算符 `...`: 这种方式同样创建了一个新的数组,将两个数组合并。
```javascript
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let mergedArr = [...arr1, ...arr2]; // mergedArr: [1, 2, 3, 4, 5, 6]
```
3. 使用 `push()` 和 `slice()`: 如果你想在第一个数组上操作并且保留原数组顺序,可以这样做。
```javascript
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
arr1.push(...arr2);
// 或者
arr1 = arr1.slice(0).concat(arr2);
// mergedArr (等于 arr1): [1, 2, 3, 4, 5, 6]
```
相关问题
js 两个数组交替合并
以下是JavaScript中两个数组交替合并的几种方法:
1. 使用for循环和push()方法:
```javascript
var arr1 = [1, 3, 5];
var arr2 = [2, 4, 6];
var result = [];
for (var i = 0; i < arr1.length || i < arr2.length; i++) {
if (i < arr1.length) {
result.push(arr1[i]);
}
if (i < arr2.length) {
result.push(arr2[i]);
}
}
console.log(result); // 输出:[1, 2, 3, 4, 5, 6]
```
2. 使用reduce()方法:
```javascript
var arr1 = [1, 3, 5];
var arr2 = [2, 4, 6];
var result = arr1.reduce(function(acc, curr, index) {
return acc.concat(curr, arr2[index]);
}, []);
console.log(result); // 输出:[1, 2, 3, 4, 5, 6]
```
3. 使用map()方法:
```javascript
var arr1 = [1, 3, 5];
var arr2 = [2, 4, 6];
var result = arr1.map(function(value, index) {
return [value, arr2[index]];
}).flat();
console.log(result); // 输出:[1, 2, 3, 4, 5, 6]
```
js两个数组去重合并
你可以使用 Set 数据结构来去重,然后将两个数组合并即可。具体实现如下:
```javascript
const arr1 = [1, 2, 3, 4];
const arr2 = [3, 4, 5, 6];
const set = new Set([...arr1, ...arr2]);
const result = [...set];
console.log(result); // [1, 2, 3, 4, 5, 6]
```
在上面的代码中,我们首先将两个数组通过扩展运算符 `...` 合并为一个新数组,然后使用 Set 数据结构对新数组进行去重,最后再将 Set 转换回数组即可得到合并后的结果。
阅读全文