js 循环多个数组合并
时间: 2023-11-22 20:48:52 浏览: 252
以下是JS循环多个数组合并的两种方法:
1.使用for循环遍历多个数组,将每个数组中的元素添加到一个新数组中,最后返回新数组。具体实现如下:
```javascript
function mergeArrays() {
var result = [];
for (var i = 0; i < arguments.length; i++) {
var arr = arguments[i];
for (var j = 0; j < arr.length; j++) {
if (result.indexOf(arr[j]) === -1) {
result.push(arr[j]);
}
}
}
return result;
}
```
2.使用ES6的扩展运算符(...)和Set对象去重,将多个数组合并成一个数组,然后使用Set对象去重,最后将去重后的结果转换为数组返回。具体实现如下:
```javascript
function mergeArrays(...arrays) {
return [...new Set([].concat(...arrays))];
}
```
相关问题
js将多个数组合并成同一个(循环)
在JavaScript中,将多个数组合并成一个新的数组(循环),通常可以使用`concat()`方法、扩展运算符(`...`)或`reduce()`函数结合数组方法。这里有几个简单的示例:
1. **使用concat()方法**
```javascript
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let mergedArray = [];
for (let i = 0; i < arrays.length; i++) {
mergedArray = mergedArray.concat(arrays[i]);
}
console.log(mergedArray); // 输出:[1, 2, 3, 4, 5, 6]
```
2. **使用扩展运算符**
```javascript
let arrays = [arr1, arr2]; // 假设arrays是一个包含两个数组的数组
let mergedArray = [...arrays.flat()];
console.log(mergedArray); // 输出:[1, 2, 3, 4, 5, 6]
```
注意:`flat()`在这里用于展平嵌套数组。
3. **使用reduce()函数**
```javascript
let arrays = [arr1, arr2];
let mergedArray = arrays.reduce((acc, curr) => acc.concat(curr), []);
console.log(mergedArray); // 输出:[1, 2, 3, 4, 5, 6]
```
这个例子中,`reduce()`函数遍历数组,对每个元素应用提供的回调函数(这里使用了`concat()`),累积结果到`acc`变量上。
如果你想要保留原始数组不变,可以在循环内部操作新的数组:
```javascript
let arrays = [[1, 2], [3, 4]];
for (let i = 0; i < arrays.length; i++) {
arrays[i] = [...arrays[i], ...arrays[i + 1]]; // 如果没有更多数组,则去掉数组[i + 1]
}
console.log(arrays); // 输出:[[1, 2, 3, 4]]
```
js 循环合并多个数组
以下是两种JS循环合并多个数组的方法:
1.使用for循环遍历多个数组,将每个数组中的元素添加到一个新数组中,并使用Set去重。
```javascript
let arr1 = [1, 2, 3];
let arr2 = [2, 3, 4];
let arr3 = [3, 4, 5];
let result = [];
for (let i = 0; i < arr1.length; i++) {
if (!result.includes(arr1[i])) {
result.push(arr1[i]);
}
}
for (let i = 0; i < arr2.length; i++) {
if (!result.includes(arr2[i])) {
result.push(arr2[i]);
}
}
for (let i = 0; i < arr3.length; i++) {
if (!result.includes(arr3[i])) {
result.push(arr3[i]);
}
}
console.log(result); // 输出:[1, 2, 3, 4, 5]
```
2.使用concat()方法将多个数组合并成一个数组,然后使用Set去重。
```javascript
let arr1 = [1, 2, 3];
let arr2 = [2, 3, 4];
let arr3 = [3, 4, 5];
let result = Array.from(new Set(arr1.concat(arr2, arr3)));
console.log(result); // 输出:[1, 2, 3, 4, 5]
```
阅读全文