修改后端返回的list中对象的key值

222 阅读1分钟

需要中处理日期时后端的数据可能是以下数组,做统计报表时用

[
    {
        2020: 'xxxx',
        2021: 'xxxx',
        'xxx': 'xxxx'
    }
]

但是前端页面展示时可能需要把对象中的'xxx'展示在第一位,这时候需要改变key的值

list  // 原数组
type  // 是年,季度,月的标识
handleKeyMap(list, type) {
    const newList = [];
    for(let i = 0; i< list.length; i++) {
        const obj = list[i];
        let newObj = {};  // 新对象保存修改后的key和value值
        let newKeys = [];  // 保存新的key
        let newValues = [];  // 保存key对应的值
        const keys = Object.keys(obj);
        keys.forEach(key => {
            let newkey = '';
            switch (type) {
                case 'year':
                newKey = isNumber(key) ? `${key}年` : key;
                newKeys.push(newkey);
                newValues.push(obj[key]);
                break;
                .............
            }
        })
        newkeys.forEach((key, index) => {
            newObj[key] = newValues[index];
        })
        newList.push(newObj);
    }
    
    return newList;

}

动态修改key值