Функция счетчика скриптов Google Apps - PullRequest
0 голосов
/ 07 декабря 2018

Я пытался запустить код JavaScript ниже в скрипте Google Apps.Но я получаю синтаксическую ошибку в 3-й строке.
Входные данные: массив
пример: var array = ['a', 'b', 'c', 'b', 'a', 'b', 'c', 'a', 'a', 'a'];
Выходные данные: объект, похожий на счетчик Python
{ "a": 5, "b": 3, "c": 2 }

function Counter(array) {  //function returns a counter of the input array.
  var count = {};
  array.forEach(val => count[val] = (count[val] || 0) + 1);
  return count;
}

Мой первоначальный вопрос состоял в том, чтобы попросить помочь мне определитьОшибка.Ошибка вышеупомянутой функции - функция стрелки, которая была идентифицирована двумя пользователями (@theMaster и @tehhowch).Затем я создал следующую функцию, которая работает в JavaScript, но получает ошибку в Google Apps Script.

TypeError: Невозможно вызвать метод "forEach" из неопределенного.(строка 182, файл «Код»)

function createCounter(array) {  //function returns a counter of the input array.
  var countv = {};
  array.forEach( function(val)
    {countv[val] = (countv[val] || 0) + 1;
  });
return countv;
};                                                                      

var list = [40, 40, 10, 60, 60, 60, 60, 30, 30, 10, 10, 10, 10, 10, 40, 20] Logger.log(createCounter(list));

Ожидаемый результат: { "10": 6, "20": 1, "30": 2, "40": 3, "60": 4 }

Я ценю, что кто-то может помочьмне с этим.

1 Ответ

0 голосов
/ 13 декабря 2018

Я попробовал и получаю: {60=4.0, 40=3.0, 30=2.0, 20=1.0, 10=6.0}

function testCounter(){
  var s=createCounter([40, 40, 10, 60, 60, 60, 60, 30, 30, 10, 10, 10, 10, 10, 40, 20]);
  Logger.log(s);
}

function createCounter(array) {  //function returns a counter of the input array.
  var countv = {};
  array.forEach(function(val){
    countv[val] = (countv[val] || 0) + 1;
  });
  return countv;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...