返回包含原始对象的所有字段的单个对象



编写一个函数,接受任意数量的对象,并返回一个包含原始对象所有字段的对象。

如果在多个对象中发现相同的键,则应保留最初遇到的含义。我的解决方案没有给出正确的结果。

function zip() {
const appliedValues = Object.assign({}, ...objects);
return appliedValues;
}
const objects = [
{ foo: 5, bar: 6 },
{ foo: 13, baz: -1 } // foo - repeating key
];
zip(...objects); // I expect { foo: 5, bar: 6, baz: -1 }

使记录看起来像这样:{ foo: 5, bar: 6, baz: -1 }在此处输入图像描述

实现这一点的一个非常快速的更改是简单地反转传入的数组,这将导致在可能的情况下使用早期的项。

为了避免更改原始数组,我们可以使用[...objects]创建一个副本,然后使用.reverse()(文档(

function zip() {
const appliedValues = Object.assign({}, ...[...objects].reverse());
return appliedValues;
}

const objects = [
{ foo: 5, bar: 6 },
{ foo: 13, baz: -1 }
];
console.log(zip(...objects));

最新更新