最近项目中有个需求需要将一个类似二维数组的数据矩阵转置(行转列)我通过查资料发现这是很简单的。只需要经过下面的处理就没问题了。但。。。
var newArray = tansDatas[0].map(function (col, i) {
return tansDatas.map(function (row) {
return row[i];
})
});
但是我发现我的数据是对象数组就是下面那样
原始数据tableRows
如何转化呢?我从刚才的二维数组行转列中获取到灵感只需要获取keys和数组中每一个对象的values就行了,然后再将二维数组以其中某行数据作为keys生成新的对象数组就ok了,下面是代码,欢迎进入我的博客网站查看代码详情:点击查看代码www.front-end.xin/article/det…transformDatas = (tableRows) => { if (!tableRows.length) return console.log("tableRows ", tableRows) let tansDatas = [] for(let i = 0; i < tableRows.length; i++){ let item = tableRows[i] if(i===0){ let keys = Object.keys(item) tansDatas.push(keys) } let values = Object.values(item) tansDatas.push(values) } console.log("tansD