zipObject - 创建一个属性关联到值的对象

优质
小牛编辑
127浏览
2023-12-01

给定一个有效的属性标识符数组和一个值的数组,返回一个将属性关联到值的对象。

由于一个对象可以有未定义的值,但不存在未定义的属性,该属性数组用于使用 Array.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}