在 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);
假设我有以下数组:
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);