Чтение утверждения "if (x [i] [0])." - PullRequest
0 голосов
/ 23 января 2019

Я хотел бы задать вопрос относительно оператора IF.

Как и то, что указано в заголовке, как работает "for" и "If (x [i] [0])"?Код выглядит примерно так:

var dataws1 = source.getRange(1,1,Alast,source.getLastColumn()).getValues(); 
var outData = [];
for (var i in dataws1) {
  if (dataws1[i][0] == criteria) { 
    outData.push(dataws1[i])
  }
}

Насколько я понимаю, текущий IF проверяет 1-й столбец, соответствует ли он критериям, и помещает его в массив outData.Я попытался изменить некоторые значения IF, чтобы проверить другие столбцы, но безрезультатно.Я все еще не знаком со сценариями Java и хочу узнать больше о том, как читать и как это работает.Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Ваш код копирует / отправляет каждый массив из dataws1, у которого "критерии" являются его первым элементом.

Например:

var dataws1 = [['criteria', 'hello'], ['what', 'is', 'criteria'], ['criteria', 'friend']];
var outData = [];
for (var i in dataws1) {
   if (dataws1[i][0] == 'criteria') { 
      outData.push(dataws1[i]);
   }
}
for (var j in outData) {
  document.write("outData["+j+"] = [" + outData[j] + "]<br>");
}

outData будет содержать outData = [[criteria, hello], [criteria, friend]]

0 голосов
/ 23 января 2019

Этот цикл принимает каждый элемент в dataws1, а затем проверяет первое значение в нем на соответствие «критериям» и, если оно совпадает, добавляет его в массив outData. Так что, если dataws1 имеет 3 элемента, он будет делать что-то вроде этого:

if (dataws1[0][0] == criteria) { 
  outData.push(dataws1[i])
}
if (dataws1[1][0] == criteria) { 
  outData.push(dataws1[i])
}
if (dataws1[2][0] == criteria) { 
  outData.push(dataws1[i])
}

var criteria = "match";
var outData = [];
var dataws1 = [
  ['match', 'first'],
  ['nonMatch', 'second'],
  ['match', 'third']
];
for (var i in dataws1) {
  if (dataws1[i][0] == criteria) {
    outData.push(dataws1[i])
  }
}
console.log(outData)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...