【发布时间】:2018-02-23 07:16:35
【问题描述】:
我有一个这种形式的数组
[
{
"time": "2017-09-14 02:44 AM",
"artist": "Sam",
"message": "message 1",
"days": 0
},
{
"time": "2017-09-14 02:44 AM",
"artist": "Jerry",
"message": "message 2",
"days": 2
},
{
"time": "2017-09-14 02:44 AM",
"artist": "Sam",
"message": "message 3",
"days": 4
},
{
"time": "2017-09-14 02:49 AM",
"artist": "Jerry",
"message": "message 5",
"days": 2
},
{
"time": "2017-09-14 02:59 AM",
"artist": "Sam",
"message": "message 7",
"days": 10
},
{
"time": "2017-09-14 02:59 AM",
"artist": "Sam",
"message": "message 5",
"days": 10
},
]
我需要这样的输出
[{
artist:"Sam",
data : [
{message:"message 1" , days: 0},
{message:"message 3" , days: 4},
{message:"message 7" , days: 10},
{message:"message 5" , days: 10}
]
},
{
artist:"Jerry",
data : [
{message: "message 2", days: 2},
{message: "message 5", days: 2}
]
}]
非常感谢您的任何帮助。
这是我尝试过的代码,
var obj = {};
data.map(function(item){
if(angular.isDefined(obj.artist) && obj.artist === item.artist){
obj.data.push({message: item.message, days:item.days })
}else{
obj.artist = item.artist;
obj.data = [];
obj.data.push({message: item.message, days:item.days })
}
});
console.log(obj);
但它会创建一个 JSON 对象。
【问题讨论】:
-
你能分享一下你试过的东西吗?
-
你试过的代码在哪里?
-
我已经编辑了我的问题。代码可能对你们没有帮助。
-
@AKA 有没有帮助,SO 的目的不是提供完整的解决方案,而是引导您的解决方案朝着正确的方向发展。因此,即使您的代码是必需的,我们也可以帮助您解决导致问题的原因。
-
嗯,疯了。您想要一个数组作为输出,但您的
var obj是一个对象。
标签: javascript jquery html angularjs frontend