Я обнаружил vis. js, особенно сетевой модуль.
Мне нужно получить максимальное значение поля "id" моего набора данных узлов:
var nodes = new vis.DataSet([ {id: 1, label: "Node 1"}, {id: 2, label: "Node 2"}, {id: 3, label: "Node 3"}]);
Лучшее, что я смог сделать до сих пор, - это использовать forEach l oop:
var max=0;
nodes.forEach(function(el){j=parseInt(el.id);if(j!=NaN && j>max){max=j;}});
console.log("max: ", max);
Мне кажется, это НЕ МОЖЕТ быть способом сделать это. Я видел max(field)
метод, задокументированный в do c для vis 'DataSet (https://visjs.github.io/vis-data/data/dataset.html):
max (поле) [Object | null] Найти элемент с максимальным значением указанного поля. Возвращает ноль, если элемент не найден.
Но как бы глупо это ни звучало, я просто не могу заставить его работать. Я попытался:
console.log("max: ", nodes.max('id'));
console.log("max: ", nodes.max(node => node.id));
console.log("max: ", nodes.max(node => node['id']));
Как я могу просто получить максимальное значение поля 'id' всех записей набора данных?
[Редактировать] Идентификаторы в приведенном выше примере это цифры c ({id: 1, ...}
).
В моем случае это были строки ({id: '1', ...}
), и именно в этом и заключалась проблема.