我以下列方式收到了一个axiosapi响应,
res.data = {
material:['plate','bag','bottle'],
customer:['cust1','cust2','cust3'],
prod_id: [1122,3344,4445]
}
现在我想把这个对象重新排列到表格中的显示数据中,
rowdata = [
{
materail:'plate',
customer:'cust1',
prod_id:'1122',
},
{
materail:'bag',
customer:'cust2',
prod_id:'3344',
},
{
materail:'bottle',
customer:'cust3',
prod_id:'4445',
},
]
我是noob在javascript,许多东西对我来说仍然是新的,你的意见和帮助将是有用的。
我尝试了object.entries()、foreach()和map(),但无法实现rowdata格式。
5条答案
按热度按时间wmomyfyw1#
最简单的方法可能是Map列表中的一个,然后使用索引访问其他列表。
h7wcgrx32#
您可以在迭代时使用索引从其他数组中获取值。
9rbhqvlz3#
下面是我的代码,使用Object.keys()方法迭代数据,然后使用reduce()函数Map结果。
hrirmatl4#
我同意@Ha Tai和@Nina Scholz的方法,但是每个循环的解构都是昂贵的。
以下是我的主张,但没有解构:
xeufq47z5#
独立于数据的方法
你可以转置和Map新的对象。这对任何深度都有效,只要长度和键数相同。
第一个