首页 > 解决方案 > 如何使用 es6 或 lodash 在 javascript 中按索引对两个数组进行分组?

问题描述

我们有相同的两个数组来按索引分组主题。两个具有相同长度和不同值的数组,如打击。如何通过 ES6 reduce 或 lodash 对两个数组及其索引进行分组?

array1 = [1,2,3,4] OR [{a:1},{b:2},{c:3},{d:4}]
array2 = [5,6,7,8] OR [{e:5},{f:6},{g:7},{h:8}]

finalArray = [[1,5],[2,6],[3,7],[4,8]]

我正在尝试不同的方式,例如在 es6 或 lodash concat 中使用 reduce 分组,但我找不到解决问题的最佳方法。

标签: javascriptecmascript-6lodash

解决方案


试试这个:

let array1 = [1, 2, 3, 4];
let array2 = [5, 6, 7, 8];
let res = array1.map((value, index) => {
  return [value, array2[index]]
})
console.log(res);

如果它是数组objects

let array1 = [{a:1},{b:2},{c:3},{d:4}];
let array2 = [{e:5},{f:6},{g:7},{h:8}];

let res = array1.map((value, index) => {
  return [Object.values(value)[0],Object.values(array2[index])[0]]
})
console.log(res)


推荐阅读