Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建具有公共id的json对象的单独数组_Javascript_Node.js_Json_Arraylist - Fatal编程技术网

Javascript 如何创建具有公共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": "

大家好,我遇到了各种情况,需要你们的帮助,我有一个json数组,它有一个公共id。首先,我需要从所有json obj中获取公共id,然后将每个公共json放到单独的数组中

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' } ]
 }