Javascript 使用内置的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.

为了让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.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)”