2019-07-04
描述
给出一个包含有效属性标示的数组和一个包含值的数组,返回属性和值组合的对象。
提示
- 由于一个对象可以有 undefined 值,但是不能有 undefined 键
- 对包含属性的数组使用
Array.prototype.reduce()
来确定最终对象的结构
代码
const zipObject = (props, values) =>
props.reduce((obj, prop, index) => ((obj[prop] = values[index]), obj), {});
示例
把提供的两个数组组合成对象:
zipObject(['a', 'b', 'c'], [1, 2]); // {a: 1, b: 2, c: undefined}
zipObject(['a', 'b'], [1, 2, 3]); // {a: 1, b: 2}