我正在尝试为数组编写循环,但收到无效字符串错误。
如果关键字=“间皮瘤|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());
关于javascript - 在 Google Apps 脚本中循环数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23945356/