Мне нужно создать массив JSON, используя 3 или 4 столбца, но я не могу заполнить данные, используя условие "while".
У меня есть некоторые данные Google Sheet, которые могут иметь 3 или 4 столбца,эти данные должны находиться внутри массива JSON, например:
|---------------------|------------------|---------------------|------------------|
| variable | condition | value | and/or |
|---------------------|------------------|---------------------|------------------|
| CPC | > | 100 | |
|---------------------|------------------|---------------------|------------------|
В этом первом примере четвертый столбец пуст, поскольку у нас есть только одна строка данных, поэтому результат должен быть: ["CPC", ">", 100]
если у нас есть две (или более) строки данных, это должно выглядеть так:
|---------------------|------------------|---------------------|------------------|
| variable | condition | value | and/or |
|---------------------|------------------|---------------------|------------------|
| CPC | > | 100 | and |
|---------------------|------------------|---------------------|------------------|
| s_volume | < | 950 | and |
|---------------------|------------------|---------------------|------------------|
| s_volume | > | 100 | |
|---------------------|------------------|---------------------|------------------|
, как вы можете видеть, последняя строка впоследний столбец пуст, и результат должен выглядеть следующим образом:
["CPC", ">", 100], "and", ["s_volume", "<", 950], "and", ["s_volume", ">", 100]
Наконец, этот массив JSON должен быть назначен переменной.
Я пытался с этим:
//Get values from cells
var fil1 = ss.getSheetByName("app").getRange(row,4,1,1).getValue();
var fil2 = ss.getSheetByName("app").getRange(row,5,1,1).getValue();
var fil3 = ss.getSheetByName("app").getRange(row,6,1,1).getValue();
var fil4 = ss.getSheetByName("app").getRange(row,7,1,1).getValue();
//Count how many rows with data exist
var coldat = ss.getSheetByName("app").getRange("D1:D").getValues();
var coldats = coldat.filter(String).length;
var jsonarr = [fil1, fil2, fil3]
//loop para añadir nuevos filtros
while (row < coldats) {
fil4,[fil1,fil2,fil3];
row++;
};
Очевидно, с моим кодом переменная "jsonarr" заполняется только первой строкой, игнорируя любое количество строк ниже.
Я пробовал с несколькими учебниками и методами массива сделать этот объект JSON, но я просто могу«тполучить правильный ответ.Мне очень жаль за этот вопрос новичка, я не специалист по кодированию, просто выродок, который делает некоторую работу и изучает самые основы.