假设我们有一个像这样的对象数组-
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' } ]