Javascript 必须有一种方法按程序生成此数组

Javascript 必须有一种方法按程序生成此数组,javascript,arrays,Javascript,Arrays,我正在制作一个数组,它是我D3元素的数据结构 我要坐下来做这个: 变量arcData=[{ 域:数据[0]。名称, 计数:数据[0]。计数, 颜色:数据[0]。颜色, 内半径:0, 外层:h/1.75, startAngle:Math.PI*-20/180, 端角:Math.PI*20/180, }, { 域:数据[1]。名称, 计数:数据[1]。计数, 颜色:数据[1]。颜色, 内半径:0, 外层:Math.sqrtfirstArea*数据[1]。计数/数据[0]。计数/角度/Math.PI,

我正在制作一个数组,它是我D3元素的数据结构

我要坐下来做这个:

变量arcData=[{ 域:数据[0]。名称, 计数:数据[0]。计数, 颜色:数据[0]。颜色, 内半径:0, 外层:h/1.75, startAngle:Math.PI*-20/180, 端角:Math.PI*20/180, }, { 域:数据[1]。名称, 计数:数据[1]。计数, 颜色:数据[1]。颜色, 内半径:0, 外层:Math.sqrtfirstArea*数据[1]。计数/数据[0]。计数/角度/Math.PI, startAngle:Math.PI*20/180, 端角:Math.PI*60/180, }, ..., { 域:数据[10]。名称, 计数:数据[10]。计数, 颜色:数据[10]。颜色, 内半径:0, 外层:Math.sqrtfirstArea*数据[10]。计数/数据[0]。计数/角度/Math.PI, startAngle:Math.PI*20/180, 端角:Math.PI*60/180, }] 手动写10次

我还有一些工作要做,但基本上我希望每次写这个时+1索引,直到10,这样我的数组就完成了。我觉得手动方式只是一种无缘无故地增加线路的方式。肯定有更务实的方式来写出来吗

谢谢

变量arcData=[{ { 域:数据[0]。名称, 计数:数据[0]。计数, 颜色:数据[0]。颜色, 内半径:0, 外层:h/1.75, startAngle:Math.PI*-20/180, 端角:Math.PI*20/180, }, }]; fori=1;i} 您可以这样做:

const data = [...] //your array of 10 items

const arcData = Array(data.length).fill(null).map((u, i) => {
return {domain: data[i].name,
  count: data[i].count,
  color: data[i].color,
  innerRadius: 0,
  outerRadius: h / 1.75,
  startAngle: (Math.PI * -20) / 180,
  endAngle: (Math.PI * 20) / 180,}

})

您可以使用函数方法并映射它

data.mapit,索引=>{ 域名:it.name, 伯爵:它,伯爵, 颜色:t.color, 内半径:0, 外层:h/1.75, startAngle:Math.PI*-20/180, 端角:Math.PI*20/180 }
这看起来有点帮助,你能分享你的数据阵列吗?这样做不是很好吗?我只需要10replace imap返回一个新数组,所以只要data.mapu,I…,或者data.slice0,10.map。。。如果OP只需要数据数组的一部分。