Javascript D3数据结构?(便于查找、数据操作和选择)
我正在探索有助于开发更大D3应用程序的数据结构和库 我从多个csv文件中获取数据,并希望以一致的方式(数组/对象/其他)将数据存储在javascript中,以便简化查找、数据操作和D3选择使用 我目前正在考虑使用如下键存储数据:Javascript D3数据结构?(便于查找、数据操作和选择),javascript,data-structures,d3.js,Javascript,Data Structures,D3.js,我正在探索有助于开发更大D3应用程序的数据结构和库 我从多个csv文件中获取数据,并希望以一致的方式(数组/对象/其他)将数据存储在javascript中,以便简化查找、数据操作和D3选择使用 我目前正在考虑使用如下键存储数据: var people = { A : { id: 'A', name: 'Joe'}, B : { id: 'B', name: 'Sam'}, C : { id: 'C', name: 'Eve'} }; 通过
var people = {
A : { id: 'A', name: 'Joe'},
B : { id: 'B', name: 'Sam'},
C : { id: 'C', name: 'Eve'}
};
通过这种方式,我可以快速查找,也可以使用例如d3.values()轻松展平结构
有更好的选择吗?这种方法的优点和缺点是什么?它实际上取决于您的应用程序需要什么样的数据结构,所以这个问题没有一般的答案。看起来您所拥有的非常适合于D3中最常见的操作,即
- 将数据传递到
以附加/更新元素——为此,您需要一个数组,但您的数据结构可以通过使用例如.data()
轻松转换为数组d3.entries()
- 交叉引用来自其他对象的数据——这通常是通过查找来完成的,您的数据结构也适用于查找,因为它按ID索引
d3.values()
就足够了,因为您在键和值中都有ID。