javascript - 在javascript中具有给定ID的组数组
问题描述
我将一个数组和一个 id 传递给一个函数,该函数将按 id 对该数组进行分组。
id = "f58d5d3a6c4"; // id is read-only
array = [
{createOn: "2021-02-06T18:03:13.915", message: "Hello Subscriber"},
{createOn: "2021-02-06T18:03:42.462", message: "New Messages"},
{createOn: "2021-01-29T14:21:01.761", message: "Hello"},
{createOn: "2021-02-06T18:02:56.145", message: "Hello Subscriber"}
]
我想像这样对上面的数组进行分组:
"f58d5d3a6c4": [
{createOn: "2021-02-06T18:03:13.915", message: "Hello Subscriber"},
{createOn: "2021-02-06T18:03:42.462", message: "New Messages"},
{createOn: "2021-01-29T14:21:01.761", message: "Hello"},
{createOn: "2021-02-06T18:02:56.145", message: "Hello Subscriber"}
]
这是我的代码,但在 console.log 之后我只得到一个空数组:
const group = array.reduce((r, a) => {
var key = id;
key = [...(r || []), a];
return r;
}, []);
你能帮我解决这个问题吗?谢谢你。
解决方案
复杂,为什么不只是
id = "f58d5d3a6c4"; // id is read-only
array = [
{createOn: "2021-02-06T18:03:13.915", message: "Hello Subscriber"},
{createOn: "2021-02-06T18:03:42.462", message: "New Messages"},
{createOn: "2021-01-29T14:21:01.761", message: "Hello"},
{createOn: "2021-02-06T18:02:56.145", message: "Hello Subscriber"}
]
const newObj = {
[id]: array
};
console.log(newObj);
推荐阅读
- android - 如何在 Ubuntu 上打开 Genymotion 开发菜单?(Ctrl + M 不起作用)
- git - 权限被拒绝(公钥)gitlab
- vue.js - 如何从 vuejs 中的自定义属性访问值
- c++ - 读取访问冲突。_Mycont 在 C++ 中将 udp 数据导入向量时出现 nullptr 错误
- java - Twitter 8.11 共享使用 ACTION_SEND 崩溃
- php - 如何使用 php 在 oracle 数据库中保存表情符号并再次检索它们并在 php 页面上显示它们
- php - 如何返回一个 json 对象数组,而不仅仅是连续的 json 对象?
- c# - 如何获取实现接口但不继承接口的类
- delphi - delphi android在一个VertScrollBox中左右管理HorzScrollBox
- bash - Shell 脚本:语法错误:“(”意外