遍历对象键并在JavaScript中操作键值

假设我们有一个像这样的对象数组-

const arr = [
   {
      col1: ["a", "b"],
      col2: ["c", "d"]
   },
   {
      col1: ["e", "f"],
      col2: ["g", "h"]
   }
];

我们需要编写一个JavaScript函数,该函数接受一个这样的数组并返回以下输出。

const output = [
   {
      col1: "b",
      col2: "d"
   },
   {
      col1: "f",
      col2: "h"
   }
];

基本上,我们希望将对象键值(最初是一个数组)转换为单个值,并且该值将成为对象键值数组的第二个元素。

为此的代码将是-

const arr = [
   {
      col1: ["a", "b"],
      col2: ["c", "d"]
   },
   {
      col1: ["e", "f"],
      col2: ["g", "h"]
   }
];
const reduceArray = (arr = []) => {
   const res = arr.reduce((s,a) => {
      const obj = {};
      Object.keys(a).map(function(c) {
         obj[c] = a[c][1];
      });
      s.push(obj);
      return s;
   }, []);
   return res;
};
console.log(reduceArray(arr));

控制台中的输出将是-

[ { col1: 'b', col2: 'd' }, { col1: 'f', col2: 'h' } ]