我有一个很简单的功能我想添加到一个数组。 我看到的这个网站,人们已经扩展不同的简单的项目,如String数组和实例。 但是,我也看到了评论,其中谷歌不允许延长某些类。 但是,从我所知道的,这是唯一的自定义谷歌类,如电子表格,范围等。
这是为什么抛出一个TypeError? 试图用我同样的功能在这里找到 。
Array.prototype.findIndex = function(search){
if(search == "") return false;
for (var i=0; i<this.length; i++)
if (this[i] == search) return i;
return -1;
}
//Do a search on a specific range, find the correct ID, and do a lookup based on ID
function onEdit(e) {
var e = {};
e.value = "Test String";
var client = e.value;
var columnValues = mydoc.getRangeByName(categoryRangeName).getValues();
//columnValues returns 2D array of values
//https://developers.google.com/apps-script/reference/spreadsheet/range#getValues()
var searchResult = columnValues.findIndex(e.value); //**ERROR HERE**
}
UPDATE
我也将增加,我设置的方法,只是返回这样一个值,只是为了测试,有与原型没有问题,它失败了同样的错误。
Array.prototype.findIndex = function(val) {
return val;
}
我创建了相同的for循环的功能,以及它工作得很好。
function findIndex(vals, search) {
if(search == "") return false;
for (var i=0; i<vals.length; i++)
if (vals[i] == search) return i;
return -1;
}