我正在尝试将返回值从 forEach 推送到一个数组。
现在结果在 Logger 中单独返回,例如
结果 1
结果 2
这就是我想要的,我只是不知道如何将这些结果返回到我可以在 forEach
函数之外使用的单个数组(因为这个函数是一个更大的函数的一部分).
有什么建议吗?我看了HERE并试图从下面开始工作。我在这里找到的其他结果是关于 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]
最佳答案
“我正在尝试将返回值从 forEach 推送到一个数组。”
ForEach 没有返回值,但是 map 有!
Map 的作用类似于 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);
关于javascript - 谷歌脚本 : forEach to Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53981768/