将未嵌套的树规范化为使用 Normalizr 嵌套的树
Normalizing not nested tree into nested with Normalizr
我必须规范化来自服务器的两个响应,并使用normalizr将它们存储在我的商店中。第一个回复给了我部分,第二个回复给了我帖子。部分有很多帖子。一个帖子只能有一个部分。
第一反应(部分):
[
{
id: 10,
title: "foo"
},
...
]
第二答复(员额):
[
{
id: 2,
sid: 10, //id of the section
title: "foo",
text: "foo foo"
},
...
]
我想将响应规范化到此架构中:
{
entities: {
sections: {
10: {title: "foo", posts: [2, 5, 12, 152]},
15: {title: "example", posts: [1, 8]},
...
},
posts: {
1: {id: 1, sid: 15, title: "abc", text: "something"},
2: {id: 2, sid: 10, title: "foo", text: "foo foo"},
...
}
}
}
由于响应不是嵌套的,我不知道如何定义架构。
也许你可以用简单的代码做到这一点?没有任何库?oO
var posts = [ ... ]; // some posts here
var sections = [ ... ]; // some sections here
var schema = { entities: { sections: {}, posts: {} } };
for (var i = 0; i < sections.length; i++) {
var section = sections[i];
schema.entities.sections[section.id] = {
title: section.title,
posts: []
}
}
for (var j = 0; j < posts.length; j++) {
var post = posts[j];
schema.entities.posts[post.id] = post;
schema.entities.sections[post.sid].posts.push(post.id);
}
相关文章:
- 用嵌套函数和默认函数定义函数
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 可以简化嵌套的延迟Q Promises解析吗
- 用于搜索的聚合物嵌套绑定
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- d3中堆栈函数和嵌套函数之间的差异
- 如何打印嵌套对象的所有值
- JavaScript 中的嵌套函数和 “this” 关键字
- 设置嵌套对象属性的更好方法
- querySelector/getElementByClassName嵌套项的顺序
- 猫鼬在特定记录中查找嵌套记录
- 访问嵌套JSON对象的键,其中键是动态的
- D3嵌套组作为x轴
- Ionic和angularjs嵌套步骤应用程序
- 从多维嵌套json数组创建下拉列表
- 默认情况下折叠和展开嵌套列表
- 嵌套对象结构
- 显示嵌套窗体
- 带嵌套json的下划线js查找
- 将未嵌套的树规范化为使用 Normalizr 嵌套的树