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