Массив в JavaScript

259
23 мая 2017, 03:16

Необходимо сделать, чтобы помимо основной функции, которая сейчас работает, в каждой строке массива количество его элементов увеличивалось на 1, т.е. в первой строке 1, во второй - 2, 4, в третьей - 3,6,9, в четвертой - 4, 8, 12, 16 и т.д. У меня так не получается.

var n = 5; 
var m = 1; 
var s = 1; 
 
for (var i = 1; i <= n; i++) { 
  var arr = new Array(); 
 
  arr.push(m); 
  m++; 
  if (arr > 1) { 
    var p = 2; 
 
    for (var w = 1; w <= s; w++) { 
      var z = arr[0] * p; 
      arr.push(z); 
      p++; 
      while (s <= 5) { 
        s++; 
      } 
 
 
    } 
  } 
 
 
  document.write(arr, "<br>"); 
}

Answer 1

Уберите конструкцию while и оставьте s++, пусть индекс поднимается после перехода на новую строку, а то Вы его изначально ставите максимальным, и по итогу в строке вместо нужного кол-ва символов всегда 1 + 6.

var n = 5; 
var m = 1; 
var s = 1; 
 
for (var i = 1; i <= n; i++) { 
  var arr = new Array(); 
 
  arr.push(m); 
  m++; 
  if (arr > 1) { 
    var p = 2; 
 
    for (var w = 1; w <= s; w++) { 
      var z = arr[0] * p; 
      arr.push(z); 
      p++; 
     } 
     s++; 
  } 
 
 
  document.write(arr, "<br>"); 
}

Answer 2

второй цикл немного намудрили. У вас итерируется переменная m в верхнем уровне, вот ее и используйте. Следовательно переменная s уже не будет нужна.

var n = 5; 
var m = 1; 
 
for (var i = 1; i <= n; i++) { 
  var arr = new Array(); 
  arr.push(m); 
  m++; 
   
  if (arr > 1) { 
    var p = 2; 
 
    for (var w = 1; w < m - 1; w++) { 
      var z = arr[0] * p; 
      arr.push(z); 
      p++; 
    } 
  } 
 
  document.write(arr, "<br>"); 
}

Answer 3

var n = 10; 
var m = 1; 
var s = 0; 
 
for (var i = 0; i <= n; i++) { 
  var arr = new Array(); 
 
  arr.push(m); 
  m++; 
  if (arr > 1) { 
var p = 2; 
 
for (var w = 1; w <= s; w++) { 
  var z = arr[0] * p; 
  arr.push(z); 
  p++; 
} 
  } 
  s++; 
  document.write(arr, "<br>"); 
   
}

READ ALSO
Проблема с циклом JS

Проблема с циклом JS

Всем приветНужна ваша помощь

249
Как закрыть все divы

Как закрыть все divы

Я новичекНикак не могу разобраться, как закрыть один div если нажимаем на другую кнопку

237
Как с помощью radio inputa сделать динамическое изменение цены опционального товара?

Как с помощью radio inputa сделать динамическое изменение цены опционального товара?

Здравствуйте! Делаю сайт, заказ Суши и роллы и там есть опциональные товары (например Роллы), прежде чем добавить в корзину клиенту нужно...

292