Вызовите функцию для каждого значения индекса массива - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть массив, который выглядит следующим образом

 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}

Теперь у меня есть функция, которая рисует элементы, используя x и y из arcAxis.

Я хочу вызвать эту функцию, чтобы нарисовать элементдля каждого значения индекса 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 голосов
/ 19 сентября 2018

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 );
}
0 голосов
/ 19 сентября 2018

Если вы используете предварительную версию 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...