var json = '[{"name":"金辉","value":100,"year":2020},{"name":"金辉","value":200,"year":2021},{"name":"金辉","value":150,"year":2022},{"name":"金辉","value":250,"year":2023},{"name":"中骏","value":100,"year":2020},{"name":"中骏","value":200,"year":2021},{"name":"中骏","value":150,"year":2022},{"name":"中骏","value":250,"year":2023}]';
var arr = eval('(' + json + ')');
var map = {},
dest = [];
for (var i = 0; i < arr.length; i++) {
var ai = arr[i];
if (!map[ai.name]) {
dest.push({
name: ai.name,
data: [ai.value],//此处为相同属性数组对象中的某个值
dataList:[ai] //此处为相同属性数组对象
});
map[ai.name] = ai;
} else {
for (var j = 0; j < dest.length; j++) {
var dj = dest[j];
if (dj.name == ai.name) {
dj.data.push(ai.value);
dj.dataList.push(ai);
break;
}
}
}
}
console.log(dest);