Получить все свойства объекта из массива объектов - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь создать список вырезов материала из ввода, введенного пользователем в Google Sheets. Я не получаю никаких ошибок, за исключением последней части, где я пытаюсь перебрать массив объектов и использовать значения объектов для замены текста в Google Doc. При вызове 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;
 }
}

1 Ответ

0 голосов
/ 17 ноября 2018

Как упоминалось в комментариях, GAS не поддерживает Object.values, но он поддерживает Object.keys, поэтому вы можете перебирать ключи, чтобы получить массив значений Object.

Replace

Object.value(jambArr[j])

с

Object.keys(jambArr[j]).map(function(e) {return jambArr[j][e]}).join(", ")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...