UNPKG

520 BJavaScriptView Raw
1/**
2 * The degree of a vertex is the number of incident edges, with loops counted twice.
3 *
4 * http://en.wikipedia.org/wiki/Degree_(graph_theory)
5 *
6 * @param {Object} edges
7 * @param {String} nodeId
8 * @returns {Number} degree
9 */
10
11const getDegree = (edges, nodeId) => {
12 var degree = 0
13
14 const countIncidents = (id) => {
15 if (id === nodeId) {
16 degree++
17 }
18 }
19
20 for (var edgeId in edges) {
21 var edge = edges[edgeId]
22
23 edge.forEach(countIncidents)
24 }
25
26 return degree
27}
28
29module.exports = getDegree