Предположим, что вместо function(c(2015,2016,2017,2018)
вы имеете в виду plt(c(2015,2016,2017,2018)
. Если я ошибаюсь, я удалю ответ.
Давайте запустим функцию. В этом случае a == c(2015, 2016, 2017, 2018)
.
В вашей функции вы спрашиваете, a == 2015
. Нет; a
является вектором длины 4, как показано выше. 2015 в r является скаляром или вектором длины 1.
Имеет ли a == 2016
? Нет, и аналогично для 2017 и 2018. Так что ни одно из ваших условий не будет выполнено, и, следовательно, ваш plot()
не может работать, потому что x
никогда не создается.
Вместо этого вы можете переписать свой код, чтобы взять a
и работать над каждым элементом. Также вы можете захотеть упростить, создав a_length <- c(252, 252, 251, 205)
, а не выписывая все.
В этот момент вы можете использовать цикл for или lapply()
, чтобы получить графики.
alert($$('div.basic').invoke('identify').join(',');
Вызывание позовет функцию по имени. Определить функция предоставит идентификатор. При вызове на массиве он возвратит массив их идентификаторов. Соединение превращает их в строку с промежуточными запятыми.
var ids = $$('div.basic').collect(function(el) { return el.id; }); //array of ids
alert(ids.join(','));
соберитесь другое название карты, которая является, позволяет Вам преобразовывать элементы один тип набора в другой тип путем применения "селекторной" функции к каждому.
Существует оптимизация в прототипе специально для этого:
$$('div.basic').pluck('id')
Если я считал Ваше право вопроса, Вы хотите список идентификаторов отделения, а не строку идентификаторов, разделенных запятой.
У меня была та же проблема, существует простое решение:
Если varElement является Вашим объектом, содержащим [HTMLDivElement] (или другой Объект DOM) просто добавляют '.id'
например.
varElement.id