搜索

首页  >  问答  >  正文

javascript - 大写格式怎么转换为驼峰格式

比如说:[{CARID:'111',CARNO:'1111'},{CARID:'222',CARNO:'2222'},{CARID:'333',CARNO:'3333'}]
有没有什么通用的方法转化为:[{carId:'111',carNo:'1111'},{carId:'222',carNo:'2222'},{carId:'333',carNo:'3333'}]

为情所困为情所困2854 天前611

全部回复(2)我来回复

  • 習慣沉默

    習慣沉默2017-05-19 10:48:43

    如果把这个话题局限在你提供的DEMO中的话,并且以通用方法来解读的话:

    Array.prototype.toCamelCase = function(keys) {
        keys  = keys || { CARID: 'carId', CARNO: 'carNo' };
        return this.map(item => {
            let newItem = {};
            for (let ii in item) {
                newItem[keys[ii] || ii] = item[ii];
            }
            return newItem;
        });
    }
    
    console.log(JSON.stringify(data.toCamelCase()));
    // [{"carId":"111","carNo":"1111"},{"carId":"222","carNo":"2222"},{"carId":"333","carNo":"3333"}]
    console.log(JSON.stringify(data.toCamelCase({ CARID: 'carID', CARNO: 'carNO' })));
    // [{"carID":"111","carNO":"1111"},{"carID":"222","carNO":"2222"},{"carID":"333","carNO":"3333"}]

    再超就难了。

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:48:43

    实际上很麻烦,你首先要有一个字典,里面有所有词语,然后根据字典把key名分隔成一个个单独的单词再转为驼峰格式再组合起来。

    可以想象这有多麻烦。

    回复
    0
  • 取消回复