我正在尝试在Google表格中运行和测试此功能:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('NN');
var range_p = sheet.getRange('B32:J32');
var range_q = sheet.getRange('B33:J33');
kl_divergence(range_p, range_q);
function kl_divergence(range_p, range_q) {
var norm = 0.00001;
var i;
var tot = 0.0;
for (i = 0; i < range_p.length; i++){
tot += range_p[i] * LOG((range_p[i] + norm) / (range_q[i] + norm));
}
return tot;
}
但我遇到此错误:
TypeError: Cannot read property 'length' of undefined (line 11, file "Code"
这是怎么回事,我该如何解决?
答案 0 :(得分:0)
您使用的def unique_letters(words_list):
return [''.join(dict.fromkeys(word)) for word in words_list]
函数返回Range类https://developers.google.com/apps-script/reference/spreadsheet/range。
我认为您需要将其更改为:
def unique_letters(words_list):
result = []
for word in words_list:
result.append(''.join(dict.fromkeys(word)))
return result