Google Script: для каждого в массив - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь отправить возвращенные значения из forEach в массив.

В настоящее время результаты возвращаются в Logger индивидуально, как

result 1 result 2

Это то, что я хочу, я просто не знаю, как вернуть эти результаты водин массив, который я могу использовать вне функции forEach (так как эта функция является частью большего).

Есть советы?Я посмотрел ЗДЕСЬ и попытался поработать с этим ниже.Другие результаты, которые я нашел здесь, были о PHP, который я не понимаю.

urls.forEach(function(urlTest) {
    var htmls = UrlFetchApp.fetch(urlTest).getContentText();
    var reg = /text1boldblack\"\>U(.*?)\<\/div/g;
    var reg2 = /text1boldblack\"\>|\<\/div/g;
    var extract = htmls.match(reg);
    var string = String(extract);
    var listDivName = string.replace(/text1boldblack\"\>|\<\/div/g,'');

    var array = [];
    for (var i = 0; i < listDivName.length; ++i) {
    array.push(i);
    Logger.log(array);
    }

Ниже приведен пример того, что Logger.log(array); возвращает в настоящее время, что явно больше, чем два результата, которые я ожидал.

[18-12-30 17:05:13:597 EST] U09 Girls 1 - Fall 2018
[18-12-30 17:05:13:597 EST] [0.0]
[18-12-30 17:05:13:598 EST] [0.0, 1.0]
[18-12-30 17:05:13:599 EST] [0.0, 1.0, 2.0]
[18-12-30 17:05:13:599 EST] [0.0, 1.0, 2.0, 3.0]
[18-12-30 17:05:13:600 EST] [0.0, 1.0, 2.0, 3.0, 4.0]
[18-12-30 17:05:13:600 EST] [0.0, 1.0, 2.0, 3.0, 4.0, 5.0]
[18-12-30 17:05:13:601 EST] [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
[18-12-30 17:05:13:602 EST] [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0]
[18-12-30 17:05:13:602 EST] [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0]
[18-12-30 17:05:13:603 EST] [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
[18-12-30 17:05:13:604 EST] [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]
[18-12-30 17:05:13:604 EST] [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0]
[18-12-30 17:05:13:605 EST] [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0]
[18-12-30 17:05:13:606 EST] [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0]
[18-12-30 17:05:13:606 EST] [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0]

1 Ответ

0 голосов
/ 31 декабря 2018

"Я пытаюсь переместить возвращаемые значения из forEach в массив."

ForEach не имеет возвращаемого значения, но карта имеет!

Карта действует как forEach, но возвращаемое значениесоздает новый массив.

const resultArray = urls.map(function(urlTest) {
    var htmls = UrlFetchApp.fetch(urlTest).getContentText();
    var reg = /text1boldblack\"\>U(.*?)\<\/div/g;
    var reg2 = /text1boldblack\"\>|\<\/div/g;
    var extract = htmls.match(reg);
    var string = String(extract);
    var listDivName = string.replace(/text1boldblack\"\>|\<\/div/g,'');

    return listDivName;
}

// do sth with the array:
console.log(resultArray);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...