Не работает while в цикле for

224
12 апреля 2017, 15:09

День добрый, необходимо получить n уникальных значений из массива в определённом порядке есть код

  function autorlink() {
  function test(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet4')
  var allVol = sheet.getRange(1, 1, 1, 18).getValues();
  var randomVol = allVol[0][Math.floor(Math.random()*allVol[0].length)];
    return randomVol
  }
var arr = new Array();
var n = 10
var range = SpreadsheetApp.getActiveSheet().getRange(2,1,n,1)
var numRows = range.getNumRows();
var numCols = range.getNumColumns();
  var i = 1 
  for (i; i <= numRows; i++){
  var a = test()
  while (arr.indexOf(a) > -1 && i >= numRows){
    a = test()
  i++
  }
  arr.push([a])
  }
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet4').getRange(2,1,n,1).setValues(arr) 
  }

В результате в массив arr записывается только 1 значение вместо n значений. в чём может быть ошибка ?

READ ALSO
Запустить ReactJS приложение локально

Запустить ReactJS приложение локально

Можно ли запустить скомпилированное приложение на reactjs в локальной папке, без запуска вебпак сервера? Написал простенькое одностраничное...

329
Помогите переписать REST запрос с jquery на vue-resource

Помогите переписать REST запрос с jquery на vue-resource

Есть такой кусок кода на jquery с постом на сервер:

251
vue модальное окно ошибка с props

vue модальное окно ошибка с props

Vue компонент модального окнаПри вызове метода savePos

373
Как навесить событие на кнопку?

Как навесить событие на кнопку?

Есть форма с кнопкой,вот код инпута

240