array-to-object.js

import { default as detectType } from './detect-type';
/**
 * 数组转换为对象
 * @param {array} arr 待转换数组
 * @param {string} key 转换依据,数组对象元素的key
 * @return {object} res 转换后的对象
 * @description 数组元素均为对象,转换后对象的key值为数组对象元素的某key对应value
 */
function arrayToObject(array, key) {
    if (!array || !key) {
        throw Error('缺失必要参数');
    }
    if (!detectType(array, 'array')) {
        throw TypeError('入参类型错误,待转换类型必须为array');
    }
    var res = {};
    array.forEach(function (item) {
        if (item && item[key]) {
            // 转换后对象的属性key值
            var keyValue = item[key];
            // 转换后对象的属性key对应value,即obj
            var obj_1 = {};
            Object.keys(item).forEach(function (k) {
                if (k !== key) {
                    obj_1[k] = item[k];
                }
            });
            res[keyValue] = obj_1;
        }
    });
    return res;
}
export default arrayToObject;
//# sourceMappingURL=array-to-object.js.map