let tempArr = [], newArr =
[]
for
(let i = 0; i < arr.length; i++
) {
if
(tempArr.indexOf(arr[i].id) === -1
) {
newArr.push({
id: arr[i].id,
list: [arr[i].list]
tempArr.push(arr[i].id);
}
else
{
for
(let j = 0; j < newArr.length; j++
) {
if
(newArr[j].id ==
arr[i].id) {
newArr[j].list.push(arr[i].list)
console.log(newArr)
getTableData() {
this.$observer.$on("selectedProject", data => {
let list = [];
data.forEach(item => {
if (item.select === 1) list.push(item);
this.tableData = list;
console.log(data, this.tableData);
this.tableData.forEach(item => {
item.arr = this.merger(item.lisVos);
// 根据reportTime排序
item.arr.sort(function(a, b) {
if (a.reportTime < b.reportTime) {
return -1;
} else if (a.reportTime == b.reportTime) {
return 0;
} else {
return 1;
let str = "";
item.arr.forEach(ele => {
str += ele.details + ";" + "\n";
item.details = str;
// 传入一个数组,将reportTime相同的对象中的name合并到details中
merger(arr) {
let tempArr = [],
newArr = [];
for (let i = 0; i < arr.length; i++) {
if (tempArr.indexOf(arr[i].reportTime) === -1) {
newArr.push({
reportTime: arr[i].reportTime,
name: [arr[i].name]
tempArr.push(arr[i].reportTime);
} else {
for (let j = 0; j < newArr.length; j++) {
if (newArr[j].reportTime == arr[i].reportTime) {
newArr[j].name.push(arr[i].name)
}
// 给newArr添加一个新字段details
newArr.forEach(item => {
item.details = item.reportTime + ":" + item.name
return newArr;