Я пытаюсь отфильтровать список FreeMarker в Magnolia JavaScript модель , используя Array.prototype.filter()
.
Список
[#assign list = [1, 2, 3]]
Модель
var Model = function() {
this.filterList = function(list) {
return list.filter(function(item) {
return item === 2
});
}
};
new Model();
Использование
${model.filterList(list)}
Однако я получаю следующую ошибку.
Caused by: jdk.nashorn.internal.runtime.ECMAException: TypeError: list.filter is not a function
Nashorn был реализован с использованием ECMAScript-262 5.1 .
Двигатель Nashorn JavaScript был впервые включен в JDK 8 через JEP 174 в качестве замены для скриптовый движок Rhino Когда он был выпущен, это была полная реализация стандарта ECMAScript-262 5.1. - JEP 335: устарел Nashorn JavaScript Engine
Почему, несмотря на то, что Nashorn следует ECMAScript-262 5.1, я получаю ошибку при использовании Array.prototype.filter()
?