Javascript 从带有d3.group的csv创建数组,不带组头

Javascript 从带有d3.group的csv创建数组,不带组头,javascript,arrays,d3.js,Javascript,Arrays,D3.js,我试图复制Nadieh Bremer的例子,这是一个用D3.js制作的雷达图 Nadieh示例中使用的数据结构为: var data = [ [//iPhone {axis:"Battery Life",value:20}, {axis:"Brand",value:28}, {axis:"Contract Cost",value:29}, {axis:"Design And Quality&

我试图复制Nadieh Bremer的例子,这是一个用D3.js制作的雷达图

Nadieh示例中使用的数据结构为:

var data = [
  [//iPhone
    {axis:"Battery Life",value:20},
    {axis:"Brand",value:28},
    {axis:"Contract Cost",value:29},
    {axis:"Design And Quality",value:17},
    {axis:"Have Internet Connectivity",value:22},
    {axis:"Large Screen",value:02},
    {axis:"Price Of Device",value:21},
    {axis:"To Be A Smartphone",value:50}            
  ],[//Samsung
    {axis:"Battery Life",value:27},
    {axis:"Brand",value:16},
    {axis:"Contract Cost",value:35},
    {axis:"Design And Quality",value:13},
    {axis:"Have Internet Connectivity",value:20},
    {axis:"Large Screen",value:13},
    {axis:"Price Of Device",value:35},
    {axis:"To Be A Smartphone",value:38}
  ],etc.
];
我想从如下设置的CSV文件中引入数据:

axis,value,type
Battery Life,20,iPhone
Brand,28,iPhone
Contract Cost,29,iPhone
Design And Quality,17,iPhone
Have Internet Connectivity,22,iPhone
Large Screen,02,iPhone
Price Of Device,21,iPhone
To Be A Smartphone,50,iPhone    
Battery Life,27,SAmsung
Brand,16,SAmsung
...etc.
在我的脚本中,我有:

var tmpArr;
    d3.csv("data1.csv", (d) => {
    tmp = d;
    tmpArr = Array.from(d3.group(tmp, d => d.group));
    console.log(tmpArr);
});
这显然会为每个组返回一个数组,其中组的标题作为数组的第一个元素,然后组的内容作为数组中的第二个元素


若您能帮助我删除第一个元素,我将不胜感激,这样我只需返回一个所需的值数组。我非常确定我需要使用
d3.map()
,但我就是不太清楚如何使用它。提前感谢。

您只需使用标准的
.map
即可,对于从
数组返回的每一对。从(d3.group(…)
返回该对中的第二项。对于每对中的第二项,使用索引
[1]
,因为数组是基于零的索引

工作示例与Nadieh Bremer块中的数据结构一致:

const csv=`轴、值、类型
电池寿命,20,iPhone
品牌,28,iPhone
合同成本,29美元,iPhone
设计与质量,17,iPhone
具备互联网连接能力,22岁,iPhone
大屏幕,02,iPhone
设备价格,21,iPhone
成为智能手机,50,iPhone
电池寿命,27,三星
品牌,16,三星
合同成本,2470美元
设计与质量,14,三星
拥有互联网连接能力,22岁,三星
大屏幕,05,三星
设备价格,15,三星
智能手机,48岁,三星
`;
const data=d3.csvParse(csv);
constgrouped=Array.from(d3.group(data,d=>d.type));
const arrForViz=grouped.map(g=>g[1]);
控制台日志(arrForViz)