跳到主要内容

zipObject()

function zipObject<K, V>(keys, values): Record<K, V>;

Defined in: object/zipObject.ts:28

创建一个对象,将键数组和值数组/函数配对组合 支持多种值来源:固定值、值数组或值生成函数

Type Parameters

Type ParameterDescription
K extends string | number | symbol键的类型,必须是字符串、数字或符号
V值的类型

Parameters

ParameterTypeDescription
keysK[]键数组
valuesV | (key, idx) => V | V[]值来源,可以是: - 固定值:所有键都使用相同的值 - 值数组:按索引对应键赋值 - 值生成函数:根据键和索引动态生成值

Returns

Record<K, V>

组合后的对象

Examples

zipObject(['a', 'b'], [1, 2]); // 返回 { a: 1, b: 2 }
zipObject(['a', 'b'], (key, idx) => key + idx); // 返回 { a: 'a0', b: 'b1' }
zipObject(['a', 'b'], 'default'); // 返回 { a: 'default', b: 'default' }
zipObject([], [1, 2]); // 返回 {}(空键数组)
zipObject(['x', 'y'], [10]); // 返回 { x: 10, y: undefined }(值数组长度不足)
**Note:** 如果值数组长度小于键数组,多余的键值为 undefined
**Note:** 如果值生成函数抛出错误,会传播该错误
**Note:** 空键数组返回空对象