在 React 中将 2 个数组合并为 1

Combine 2 arrays into 1 in React

假设我有以下数组:

const headerArray = ["h1","h2","h3"];
const dataArray=[["a1","a2","a3"],["b1","b2","b3"]];

我想将它们组合成这样的数组:

finalArray= [
{
    "h1": "a1",
    "h2": "a2",
    "h3": "a3"
  },
  {
    "h1": "b1",
    "h2": "b2",
    "h3": "b3"
  }
];

我如何在 React 中执行此操作? (我需要此功能才能在 React 中的 Material UI 数据网格中显示上传的 Excel table)

您可以像这样使用 Array#reduce 来完成它。

const headerArray = ["h1","h2","h3"];
const dataArray=[["a1","a2","a3"],["b1","b2","b3"]];

const finalArray = dataArray.reduce((acc, curr) => {
  const item =  curr.reduce((acc, curr, index) => (acc[headerArray[index]] = curr, acc), {});
  acc.push(item);
  
  return acc;
}, []);

console.log(finalArray);

或者只是Array#map

const headerArray = ["h1","h2","h3"];
const dataArray=[["a1","a2","a3"],["b1","b2","b3"]];

const finalArray = dataArray.map(curr => 
                  (curr.reduce((acc, curr, index) => 
                      (acc[headerArray[index]] = curr, acc), {})));

console.log(finalArray);