zipObject()
function zipObject<K, V>(keys, values): Record<K, V>;
Defined in: object/zipObject.ts:28
创建一个对象,将键数组和值数组/函数配对组合 支持多种值来源:固定值、值数组或值生成函数
Type Parameters
| Type Parameter | Description |
|---|---|
K extends string | number | symbol | 键的类型,必须是字符串、数字或符号 |
V | 值的类型 |
Parameters
| Parameter | Type | Description |
|---|---|---|
keys | K[] | 键数组 |
values | V | (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:** 空键数组返回空对象