我正在尝试根据用户在Google表格中输入的内容创建物料清单。除最后一部分外,我没有收到任何错误,在该部分中,我尝试遍历对象数组并使用对象值替换Google文档上的文本。通过调用Object.value(
),将引发以下错误。
TypeError:在对象函数Object(){[Object.Object的本机代码,arity = 1]}中找不到函数值。
我尝试使用其他对象方法,但是Object.value()
是允许我从jambObj
获取实际值的唯一方法。
//Create jamb cut list
function jambsCutList() {
var numberOfJambCuts;
var sizeOfJambCuts;
var jambOpenings;
var jambs = 1;
var jambObj = {};
var jambArr = [];
//Loop through the first three google sheet colums
for(var i = 5; i < values.length; i++) {
numberOfJambCuts = values[i][0];
sizeOfJambCuts = values[i][1];
jambOpenings = values[i][2];
jambObj = {cuts: numberOfJambCuts, size: sizeOfJambCuts, openings:
jambOpenings};
jambArr.push(jambObj);
}
//Sort jambArr from largest cut size to smallest
jambArr.sort(function(a, b) {
return parseInt(b.size) - parseInt(a.size);
});
//Problem Code
//Loop through an array of objects and print all properties to the doc
for (var j = 0; j < jambArr.length; j++){
body.replaceText('##jambs' + jambs + '##', Object.value(jambArr[j]))
jambs += 1;
}
}
答案 0 :(得分:2)
如评论中所述,GAS不支持Object.values,但它支持Object.keys,因此您可以遍历键以获取Object值的数组。
替换
Object.value(jambArr[j])
使用
Object.keys(jambArr[j]).map(function(e) {return jambArr[j][e]}).join(", ")