根據對象數組中某個相同的屬性,將相同屬性對象合並為一個對象,從而得到新的數組


let arr = [
{
timestamp: 1597593600000,
total: 1892,
'合川區': 1
},
{
timestamp: 1597593600000,
total: 1892,
'長沙市': 13
},
{
timestamp: 1597593600000,
total: 1892,
'常德市': 14
},
{
timestamp: 1597680000000,
total: 1892,
'合川區': 1
},
{
timestamp: 1597680000000,
total: 1892,
'長沙市': 10
}
];
根據相同的timestamp,將對象合並,得到這樣的格式:
let arr = [
{
timestamp: 1597593600000,
total: 1892,
'合川區': 1,
'長沙市': 13,
'常德市': 14
},
{
timestamp: 1597680000000,
total: 1892,
'合川區': 1,
'長沙市': 10
}
];

上代碼:
let endList = [];
_.values(_.groupBy(arr, 'timestamp')).forEach((itemList) => {
let data = {};
itemList.forEach(d => {
data = Object.assign(data, d);
});
return endList.push(data);
});
console.log(endList);
打印出來就是所需格式,其中用的大多是Lodash里面的方法實現,Lodash官網地址:https://www.lodashjs.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM