繁体   English   中英

在Google Apps脚本中循环数组

[英]Loop an array in Google Apps Scripts

我正在尝试为数组编写循环,但收到无效的字符串错误。

如果关键字=“间皮瘤| seo”

function json(keyword) {
  var jsondata = UrlFetchApp.fetch("http://api.grepwords.com/lookup?apikey=carterq="+keyword);
  var object = Utilities.jsonParse(jsondata.getContentText());

  var results = Array("Error", "Error", "Error", "Error");

  for (var i = 0; i < object.length; i++) {

  results[0] = object[0].cpc;
  results[1] = object[0].cmp;
  results[2] = object[0].lms;
  results[3] = object[0].m1;
  }

  return results;
}

有什么想法吗?

您的参考错误来自以下行:

var jsondata = UrlFetchApp.fetch("http://api.grepwords.com/lookup?apikey=carter&q="+keyword);

从上面的代码中,这是您唯一使用“关键字”的时刻。 您确定它返回正确的信息吗? 如果您是否考虑过循环?

假设您的var object = Utilities.jsonParse(jsondata.getContentText()); 返回此:

  var object = [
      {cpc: 'test1', cmp: 'test2', lms: 'test3', m1: 'test4'},
      {cpc: 'test5', cmp: 'test6', lms: 'test7', m1: 'test8'},
      {cpc: 'test9', cmp: 'test10', lms: 'test11', m1: 'test12'}
  ];

我们使用您的循环:

  for (var i = 0; i < object.length; i++) {

  results[0] = object[0].cpc;
  results[1] = object[0].cmp;
  results[2] = object[0].lms;
  results[3] = object[0].m1;
  }

您是否意识到您从未使用过“ i”? 并在每次循环后用相同的内容覆盖结果中的内容吗? 您确定要这个吗?

 function somefunc() { var object = [ {cpc: 'test1', cmp: 'test2', lms: 'test3', m1: 'test4'}, {cpc: 'test5', cmp: 'test6', lms: 'test7', m1: 'test8'}, {cpc: 'test9', cmp: 'test10', lms: 'test11', m1: 'test12'} ]; var results = Array("Error", "Error", "Error", "Error"); if (object[0] != undefined) { results[0] = object[0].cpc; results[1] = object[0].cmp; results[2] = object[0].lms; results[3] = object[0].m1; } for (var i = 0; i < object.length; i++) { results[0] = object[0].cpc; results[1] = object[0].cmp; results[2] = object[0].lms; results[3] = object[0].m1; } return results; } console.log(somefunc()); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM