Javascript 如何创建具有公共id的json对象的单独数组
大家好,我遇到了各种情况,需要你们的帮助,我有一个json数组,它有一个公共id。首先,我需要从所有json obj中获取公共id,然后将每个公共json放到单独的数组中Javascript 如何创建具有公共id的json对象的单独数组,javascript,node.js,json,arraylist,Javascript,Node.js,Json,Arraylist,大家好,我遇到了各种情况,需要你们的帮助,我有一个json数组,它有一个公共id。首先,我需要从所有json obj中获取公共id,然后将每个公共json放到单独的数组中 var myArray = [ {"id" : 1, "text": "Number one", "time": "16 03 13"},{"id" : 1, "text": "
var myArray = [ {"id" : 1, "text": "Number one", "time": "16 03 13"},{"id" : 1, "text": "Number two", "time": "14 03 13"},{"id" : 1, "text": "Number three", "time": "13 03 13"},{"id" : 2, "text": "Number one", "time": "13 03 13"}]
I want output of this object as
var myArray = {
[
"1" : [
{"text": "Number one", "time": "16 03 13"},
{"text": "Number two", "time": "14 03 13"},
{"text": "Number three", "time": "13 03 13"}
]
]
[
"2" : [
{"text": "Number one", "time": "13 03 13"}
]
]}
输出将是
[{"1":[{"text":"Number one","time":"16 03 13"},{"text":"Number two","time":"14 03 13"},{"text":"Number three","time":"13 03 13"}]},{"2":[{"text":"Number one","time":"13 03 13"}]}]
{ '1':[ { id: 1, text: 'Number one', time: '16 03 13' },
{ id: 1, text: 'Number two', time: '14 03 13' },
{ id: 1, text: 'Number three', time: '13 03 13' }
],
'2': [ { id: 2, text: 'Number one', time: '13 03 13' } ]
}
您可以线性地实现这一点,而不是使用多个循环
var myArray = [{ "id": 1, "text": "Number one", "time": "16 03 13" }, { "id": 1, "text": "Number two", "time": "14 03 13" }, { "id": 1, "text": "Number three", "time": "13 03 13" }, { "id": 2, "text": "Number one", "time": "13 03 13" }]
const outputArray = {}
myArray.forEach((ele)=>{
if(outputArray[ele.id]){
outputArray[ele.id] = [...outputArray[ele.id], {...ele}]
} else {
outputArray[ele.id] = [ele]
}
});
console.log(outputArray)
输出将是
[{"1":[{"text":"Number one","time":"16 03 13"},{"text":"Number two","time":"14 03 13"},{"text":"Number three","time":"13 03 13"}]},{"2":[{"text":"Number one","time":"13 03 13"}]}]
{ '1':[ { id: 1, text: 'Number one', time: '16 03 13' },
{ id: 1, text: 'Number two', time: '14 03 13' },
{ id: 1, text: 'Number three', time: '13 03 13' }
],
'2': [ { id: 2, text: 'Number one', time: '13 03 13' } ]
}