编写一个函数,该函数接受任意数量的对象,并返回包含原始对象的所有字段的单个对象。
如果在几个对象中发现了相同的键,你应该保留第一次遇到的含义。我的解答没有给予正确的结果。
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 }
2条答案
按热度按时间bihw5rsg1#
实现这一点的一个非常快速的更改是简单地反转传入的数组,这将导致在可能的情况下使用较早的项。
为了避免改变原始数组,我们可以使用
[...objects]
创建副本,然后使用.reverse()
(documentation)irlmq6kh2#
DBS的回答很好,我提供了一个
reduce()
的解决方案