У меня есть 2 фрейма данных.
1-й фрейм данных после нескольких манипуляций с данными выглядит так
Date
1/2/2019
1/3/2019
1/4/2019
1/5/2019
1/6/2019
1/7/2019
1/8/2019
1/9/2019Второй фрейм данных — это диапазон, полученный из листа Google, который выглядит следующим образом.
DATA UCL
0.005 0.015
0.005 0.015
0.005 0.015
0.005 0.015
0.005 0.015
0.005 0.015
0.005 0.015
0.005 0.015Как мне объединить эти 2 переменные, чтобы сформировать единый фрейм данных, который можно передать.
выглядеть так
Date DATA UCL
1/2/2019 0.005 0.015
1/3/2019 0.005 0.015
1/4/2019 0.005 0.015
1/5/2019 0.005 0.015
1/6/2019 0.005 0.015
1/7/2019 0.005 0.015
1/8/2019 0.005 0.015
1/9/2019 0.005 0.015Это текущий код
var Bvals = sheet.getRange("B12:B").getValues();
var Blast = Bvals.filter(String).length;
var daterange = sheet.getRange(firstrow, 1, Blast, 1);
var Dateconverted = Utilities.formatDate(daterange, "GMT", ""EEE MMM dd yyyy");
range = sheet.getRange(firstrow, 2, Blast, 3);
var datarange2 = range.getValues(); Dateconverted — это 1-й фрейм данных, datarange2 — 2-й фрейм данных с 2 столбцами. Я хочу объединить эти 2 фрейма данных как Var Data3 = {некоторый код для объединения этих 2 таблиц данных для создания одной таблицы данных}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Диапазон — это в основном двумерный массив, который работает как valueOfCellInRange = range[rowIndex][columnIndex], поэтому, чтобы «расширить» каждую строку, чтобы включить значения из двух строк в разных диапазонах, вы должны сделать что-то вроде:
var newRangeValues = [];
for (var i = 0; i < dataRange1.length; i++){
// Length of the outer array will be the number of rows to loop through
// (assumes the two source ranges have an equal number of rows)
var combinedRow = dataRange1[i].concat(dataRange2[i]);
// dataRange1[i] will hold a one-item array like ["Date"]
// dataRange2[i] will hold an array like ["DATA","UCL"]
// concat() will merge them into one array
newRangeValues.push(combinedRow);
}
myTargetRangeOnSheet.setValues(newRangeValues);
Примечание. Я не тестировал этот код в таблицах Google, но он должен быть очень близок к тому, что вы пытаетесь сделать. (И вы можете проверить этот объяснение метода concat для массивов.)
Вот фрагмент кода, чтобы показать, что он работает в браузере:
const dataRange1 = [
["Date"],
["1/1/19"]
];
const dataRange2 = [
["DATA", "UCL"],
["DATA thing", "UCL thing"]
];
const newRangeValues = [];
for (let i = 0; i < dataRange1.length; i++){
const combinedRow = dataRange1[i].concat(dataRange2[i]);
newRangeValues.push(combinedRow);
}
console.info(newRangeValues);