выбрать определенные элементы массива, а затем умножить эти элементы - PullRequest
0 голосов
/ 10 марта 2020

У меня есть массив [1.2.3.4.5.6]. Я зациклился на них и выбрал индексы, которые мне нужны, закопал их и поместил в новый массив. когда я записываю массив внутри l oop, я получаю именно то, что мне нужно, для нового массива, который я создал, но когда я пытаюсь использовать массив вне l oop, он зацикливает длину старого массива, что заставляет меня получить 300 элементов в массиве. я не знаю, как это исправить

этот код не в javascript, но если кто-то может сказать мне, что делать в javascript, я могу скопировать его в этот формат кода

var weekends = [];
foreach(el in averageTemp) {
  if (averageTemp[0] == day[0]) {
    weekends[] = averageTemp[0];
  }
  if (averageTemp[1]) {
    weekends[] = averageTemp[1];
  }
  if (averageTemp[7]) {
    weekends[] = averageTemp[7];
  }
  if (averageTemp[8]) {
    weekends[] = averageTemp[8];
  }
  if (averageTemp[14]) {
    weekends[] = averageTemp[14];
  }
  if (averageTemp[15]) {
    weekends[] = averageTemp[15];
  }
  if (averageTemp[21]) {
    weekends[] = averageTemp[21];
  }
  if (averageTemp[22]) {
    weekends[] = averageTemp[22];
  }
  if (averageTemp[28]) {
    weekends[] = averageTemp[28];
  }
  if (averageTemp[29]) {
    weekends[] = averageTemp[29];
    System.print(weekends);
  }
}

var avgTempweekends = reduce < avgTempweekends > (0, weekends);
//System.print("The average temperature during the weekends
//"::avgTempweekends );                     

function avgTempweekends(result, item) {
  return result + item / 10;
}

1 Ответ

0 голосов
/ 10 марта 2020

Для получения только частей массива вы можете использовать смещение для каждой недели и массив для дней. Затем выполняйте итерацию, пока существует индекс, и pu sh значение для набора результатов.

var array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
    indices = [0, 1],
    result = [],
    offset = 0;

while (indices.every(i => (offset + i) in array && result.push(array[offset + i]))) {
    offset += 7;
}

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