在每个数组的索引值上调用函数

时间:2018-09-19 07:22:53

标签: javascript arrays loops

我有一个看起来像这样的数组

 arcAxis:
0:{x: 1.2858791391047208e-15, y: 21}
1:{x: -21, y: 21.000000000000004}
2:{x: -35.8492424049175, y: 6.150757595082504}
3:{x: -39.40038395815852, y: -14.546812157640753}
4:{x: -32.12697787933814, y: -34.24700413672001}
5:{x: -16.811252024253655, y: -48.61462542668643}
6:{x: 3.0355856977321465, y: -55.47779032614515}

现在,我有一个函数可以使用arcAxis的x和y绘制元素。

我想做的就是调用该函数为arcAxis的每个索引值绘制一个元素,就像这样

function test() {
  plot(0. x, 0. y)
}
.....

function test() {
  plot(6. x, 6. y)
}

因此,我有6个新元素,分别针对它们的索引使用不同的x,y值

我的方法是将每个元素打印6次,然后再打印下一个元素6次

function test() {
  const arcAxis = this.spiral();
  for (var z in arcAxis) {
    plot(arcAxis[z].x, arcAxis[z].x)

  }
}

无论如何,我只能使用1个索引值只打印1次每个元素吗?

2 个答案:

答案 0 :(得分:1)

let data= {
  arcAxis:[
   {x: 1.2858791391047208e-15, y: 21},
   {x: -21, y: 21.000000000000004},
   {x: -35.8492424049175, y: 6.150757595082504},
   {x: -39.40038395815852, y: -14.546812157640753},
   {x: -32.12697787933814, y: -34.24700413672001},
   {x: -16.811252024253655, y: -48.61462542668643},
   {x: 3.0355856977321465, y: -55.47779032614515}
  ]
 }
 
 data.arcAxis.forEach(({x, y})=>{ 
   plot(x,y);
 })
 
function plot(x,y){
  console.log("X: ", x,"Y: ", y );
}

答案 1 :(得分:0)

如果您使用的是EcmaScript 6以前的版本:

arcAxis.forEach(function(element) {
    plot(element.x, element.y);
});

对于EcmaScript 6及更高版本:

arcAxis.forEach(element => plot(element.x, element.y));

enter image description here