class MergedArray extends Component {
constructor(props) {
super(props);
}
mergedArray(arr,result) {
return arr.map((item,index)=> {
return {
//重点在这里,其他可以不用看
deal: item.filterName + result[index].total
}
})
}
render() {
let result = [
{ total: 12},
{ total: 23},
{ total: 12},
{ total: 34},
{ total: 13},
{ total: 14},
{ total: 23},
{ total: 34},
]
let arr = [
{ filterId: 1,filterName: '待解决工单'},
{ filterId: 2,filterName: '已解决工单'},
{ filterId: 3,filterName: '解决中工单'},
{ filterId: 4,filterName: '今日工单'},
{ filterId: 5,filterName: '说话1'},
{ filterId: 6,filterName: '说话2'},
{ filterId: 7,filterName: '说话3'},
{ filterId: 8,filterName: '说话4'},
];
return (
<div>
{ console.log('this.mergedArray(arr,result)',this.mergedArray(arr,result)) }
</div>
)
}
}
export default MergedArray;
合并的结果是:
Array(8)
0: {deal: "待解决工单12"}
1: {deal: "已解决工单23"}
2: {deal: "解决中工单12"}
3: {deal: "今日工单34"}
4: {deal: "说话113"}
5: {deal: "说话214"}
6: {deal: "说话323"}
7: {deal: "说话434"}
length: 8
__proto__: Array(0)
实际场景
/**
* @updateFilterDataTatal 函数名 更新左侧栏的条数
*/
updateFilterDataTatal(data) {
//result.data是左侧栏数据
let mapFilterData = data.map(item=>{
return this.orderDataTotal(item.filterId);
})
console.log('mapFilterData',mapFilterData);
return Promise.all(mapFilterData).then((result)=>{
console.log('result',result);
// data:array 中的index与 result array 的 index保持一致
let res = data.map((item, index) => {
let outdata = {
...item,
filterName: item.filterName + `(${result[index].workOrderCount})`
}
return outdata
})
return res
}).catch(err=>{
console.log('err',err);
})
}