写一个数组键值对 转对象的函数并加上jsdoc注释
时间: 2024-10-22 11:04:32 浏览: 16
swagger-jsdoc:基于jsDoc注释和YAML文件生成swaggeropenapi规范
当然,这里是一个将数组转换为对象的简单函数,其中每个元素都是一个键值对,并用JSDoc注释进行了描述:
```javascript
/**
* @function arrayToObject
* @param {Array<[key: string, value: any]>} keyValuePairs - 输入的二维数组,每一项包含一对键值对。
* @returns {object} - 根据键值对创建的对象,键为数组中的第一项,值为第二项。
* @throws {TypeError} - 如果输入的不是有效的二维数组,或者数组中某个元素不是一个有效的键值对(两个元素)。
*
* 示例:
* ```javascript
* const arr = [['name', 'Alice'], ['age', 30], ['city', 'New York']];
* const obj = arrayToObject(arr); // 返回 { name: 'Alice', age: 30, city: 'New York' }
* ```
*/
function arrayToObject(keyValuePairs) {
if (!Array.isArray(keyValuePairs) || !keyValuePairs.every(pair => Array.isArray(pair) && pair.length === 2)) {
throw new TypeError('Input must be a valid array of key-value pairs');
}
return keyValuePairs.reduce((obj, [key, value]) => {
obj[key] = value;
return obj;
}, {});
}
```
这个`arrayToObject`函数接收一个键值对数组,然后通过`reduce`方法将其转化为对象。如果输入不符合要求,则抛出错误。
阅读全文