SOURCE

var arr = [
    { "id": "1", "name": "张三", "value": "1245" },
    { "id": "1", "name": "张三", "value": "1360" },
    { "id": "2", "name": "李四", "value": "1120" },
    { "id": "2", "name": "李四", "value": "1362" },
    { "id": "2", "name": "李四", "value": "1008" },
    { "id": "3", "name": "王五", "value": "1360" },
    { "id": "4", "name": "赵六", "value": "1986" },
    { "id": "4", "name": "赵六", "value": "1240" }
 ];
var map = {}, dest = [];
for (var i = 0; i < arr.length; i++) {
    var ai = arr[i];

    if (!map[ai.id]) { //如果id不存在即map = {"1": {}}
        dest.push({
            id: ai.id,
            name: ai.name,
            value: ai.value,
            arr: [
                {value: ai.value}
            ]
        });
        // 将数组元素对象的val 作为临时对象的key
        map[ai.id] = ai;
    } else {
        // console.log(dest) //重复时,拿存的前个项进行对比
        for (var j = 0; j < dest.length; j++) {
            var dj = dest[j]; //新数组元素项
            // console.log(dj)
            if (dj.id == ai.id) {
                let obj = {value: ai.value}
                dj.arr.push(obj)
                // dj.value = (parseFloat(dj.value) + parseFloat(ai.value)).toString();
                break;
            }
        }
    }
};

var num = 0.1;
var reg = /^(([^0][0-9]\d{0,3}|0)\.([0-9]{1,1})$)|^([^0][0-9]+|0)$/;

    console.log(reg.test(num))
console 命令行工具 X clear

                    
>
console