如何在JavaScript中使用reduce将2d数组转换为对象数组?

所以我有一个数组数组,这些数组是表中的行,我想将其转换为对象数组。我有一个columns数组,所以我知道键是什么,当然,长度显然是相同的。我知道传统上如何使用for循环来执行此操作,但是我想知道如何使用减少或可能的其他更简洁的方式来执行此操作。

let columnArr = ["Name", "Group", "Tier"];

let twoDArryOfArrs = [
  ["Fred", "1FAKnock", "1a"],
  ["Brenda", "2GPvoge", "1a"],
  ["Francis", "67Gruz", "1a"],
  ["Arnold", "1FAKnock", "2b"],
  ["Candice", "67Gruz", "1a"],
  ["Larry", "1GTAFQT", "4a"],
  ["Tony", "2GPvoge", "2c"],
  ["Ronnie", "2GPvoge", "3a"]
];

function convert2dArryToArrOfObjects(arr2d, colArr) {
  let obj = {},
    resultArr = [];
  for (let i = 0; i < arr2d.length; i++) {
    let innerArr = arr2d[i];
    for (let j = 0; j < innerArr.length; j++) {
      obj[colArr[j]] = innerArr[j];
    }
    resultArr.push(obj);
    obj = {};
  }
  return resultArr;
}

const output = convert2dArryToArrOfObjects(twoDArryOfArrs, columnArr);

console.log(output);