在 vis.js 库中,如何获取 "id" 字段中的最大值?
In the vis.js library, how do I get the max value in the "id" field?
我发现了 vis.js,尤其是网络模块。
我需要获取节点数据集 "id" 字段的最大值:
var nodes = new vis.DataSet([ {id: 1, label: "Node 1"}, {id: 2, label: "Node 2"}, {id: 3, label: "Node 3"}]);
到目前为止我能做的最好的事情是使用 forEach 循环:
var max=0;
nodes.forEach(function(el){j=parseInt(el.id);if(j!=NaN && j>max){max=j;}});
console.log("max: ", max);
在我看来这不是解决问题的方法。
我在 vis 的数据集 (https://visjs.github.io/vis-data/data/dataset.html) 的文档中看到了一个 max(field)
方法:
max(field) [Object|null] Find the item with maximum value of specified field. Returns null if no item is found.
但是尽管我听起来很愚蠢,但我就是无法让它工作。
我试过了:
console.log("max: ", nodes.max('id'));
console.log("max: ", nodes.max(node => node.id));
console.log("max: ", nodes.max(node => node['id']));
如何简单地获取数据集所有条目的字段 'id' 的最大值?
[编辑] 上面示例中的 ID 是数字 ({id: 1, ...}
)。
在我的例子中,它们是字符串 ({id: '1', ...}
),而这似乎正是问题所在。
尝试这一行:
nodes.max('id').id
nodes.max('id') 将 return 具有最大 id 值的节点。
经过大量浪费时间,我终于发现 max() 与数字 ID 完美配合。
当时我的第一个想法是:阅读文档可以节省我的时间...
...但是检查 https://visjs.github.io/vis-network/docs/network/nodes.html ,它明确地将 ID 定义为字符串:
[name:] id [type:] String [default:] undefined [description:] The id of the node. The id is mandatory for nodes and they have to be unique. This should obviously be set per node, not globally.
所以请注意:它应该是一个字符串,但如果它是一个字符串,某些功能将不起作用。
如果我仍然遗漏了什么,我很乐意阅读您的评论。
我发现了 vis.js,尤其是网络模块。
我需要获取节点数据集 "id" 字段的最大值:
var nodes = new vis.DataSet([ {id: 1, label: "Node 1"}, {id: 2, label: "Node 2"}, {id: 3, label: "Node 3"}]);
到目前为止我能做的最好的事情是使用 forEach 循环:
var max=0;
nodes.forEach(function(el){j=parseInt(el.id);if(j!=NaN && j>max){max=j;}});
console.log("max: ", max);
在我看来这不是解决问题的方法。
我在 vis 的数据集 (https://visjs.github.io/vis-data/data/dataset.html) 的文档中看到了一个 max(field)
方法:
max(field) [Object|null] Find the item with maximum value of specified field. Returns null if no item is found.
但是尽管我听起来很愚蠢,但我就是无法让它工作。 我试过了:
console.log("max: ", nodes.max('id'));
console.log("max: ", nodes.max(node => node.id));
console.log("max: ", nodes.max(node => node['id']));
如何简单地获取数据集所有条目的字段 'id' 的最大值?
[编辑] 上面示例中的 ID 是数字 ({id: 1, ...}
)。
在我的例子中,它们是字符串 ({id: '1', ...}
),而这似乎正是问题所在。
尝试这一行:
nodes.max('id').id
nodes.max('id') 将 return 具有最大 id 值的节点。
经过大量浪费时间,我终于发现 max() 与数字 ID 完美配合。
当时我的第一个想法是:阅读文档可以节省我的时间...
...但是检查 https://visjs.github.io/vis-network/docs/network/nodes.html ,它明确地将 ID 定义为字符串:
[name:] id [type:] String [default:] undefined [description:] The id of the node. The id is mandatory for nodes and they have to be unique. This should obviously be set per node, not globally.
所以请注意:它应该是一个字符串,但如果它是一个字符串,某些功能将不起作用。
如果我仍然遗漏了什么,我很乐意阅读您的评论。