Javascript 使用内置的d3.js方法将数组转换为对象数组
为了让d3.js呈现图表,它将输入作为一个对象数组。以下是一个典型输入的示例:Javascript 使用内置的d3.js方法将数组转换为对象数组,javascript,arrays,object,d3.js,Javascript,Arrays,Object,D3.js,为了让d3.js呈现图表,它将输入作为一个对象数组。以下是一个典型输入的示例: var data = [ {x: 0, y: 0}, {x: 1, y: 1}, {x: 2, y: 4}, {x: 3, y: 9} ]; 假设我的数据为以下形式: var data = [ [x, y], [0, 0], [1, 1], [2, 4], [3, 9] ]; 然后我需要将数据从一个数组转换成一个对象数组,然后将其馈送到d3.
var data = [
{x: 0, y: 0},
{x: 1, y: 1},
{x: 2, y: 4},
{x: 3, y: 9}
];
假设我的数据为以下形式:
var data = [
[x, y],
[0, 0],
[1, 1],
[2, 4],
[3, 9]
];
然后我需要将数据从一个数组转换成一个对象数组,然后将其馈送到d3.js<现在我知道怎么做了。这是一个需要解决的简单问题,我不是在问这个问题。
我的问题:d3.js中是否有一个内置函数将数组转换为对象数组?类似于内置函数d3.csv()
或d3.tsv()
?如果已经创建了轮子,为什么要重新发明它:)
谢谢。查看csv/tsv解析器中的实现,它看起来像并生成一个映射其余行的函数 这对于dsv实现来说似乎是非常私有的(而不是重复使用任何实用程序函数),并且不公开任何可用于阵列而不是文本的内容。所以,我猜你的问题的答案是否定的 如果您正在寻找一种超级黑客/脆弱/糟糕的方法来重用csv函数,您可以这样做*:
const result = d3.csvParse(data.map(a => a.join(',')).join('\n'))
*不要这样做查看csv/tsv解析器中的实现,它看起来像并生成了一个映射其余行的方法 这对于dsv实现来说似乎是非常私有的(而不是重复使用任何实用程序函数),并且不公开任何可用于阵列而不是文本的内容。所以,我猜你的问题的答案是否定的 如果您正在寻找一种超级黑客/脆弱/糟糕的方法来重用csv函数,您可以这样做*:
const result = d3.csvParse(data.map(a => a.join(',')).join('\n'))
*不要这样做没有真正测试,但您是否尝试过“nest.object(array)”没有真正测试,但您是否尝试过“nest.object(array)”