对象数组转数组

34 阅读1分钟
数组 --> 对象数组
const data = [
  ["pathName", "owner", "identifier"],
  ["/c/xx", "10009410", "DICTION123"],
  ["/d/xx", "10009411", "DICTION122"],
  ["/e/xx", "10009412", "DICTION121"],
];
const keys = data[0];
let table = [];
data.slice(1).forEach((row) => {
  const arr = [];
  keys.forEach((key, index) => {
    arr.push([key, row[index]]);
  });
  const obj = Object.fromEntries(new Map(arr));
  table.push(obj);
});

console.log(table);
/**
 * [
 *  { pathName: '/c/xx', owner: '10009410', identifier: 'DICTION123' },
 *  { pathName: '/d/xx', owner: '10009411', identifier: 'DICTION122' },
 *  { pathName: '/e/xx', owner: '10009412', identifier: 'DICTION121' }
 * ]
 */

 对象数组-->数组
const data = [
  { pathName: "/c/xx", owner: "10009410", identifier: "DICTION123" },
  { pathName: "/d/xx", owner: "10009411", identifier: "DICTION122" },
  { pathName: "/e/xx", owner: "10009412", identifier: "DICTION121" },
];
const arr = [Object.keys(data[0])];
data.forEach((obj) => {
  arr.push(Object.values(obj));
});
/**
 * [
    { pathName: '/c/xx', owner: '10009410', identifier: 'DICTION123' },
    { pathName: '/d/xx', owner: '10009411', identifier: 'DICTION122' },
    { pathName: '/e/xx', owner: '10009412', identifier: 'DICTION121' }
   ]
 */
console.log(arr);