function sum(a) { var s = 0; for (var i = 0; i < a.length; i++) s += a[i]; return s; } function degToRad(a) { return Math.PI / 180 * a; } function meanAngleDeg(a) { return 180 / Math.PI * Math.atan2( sum(a.map(degToRad).map(Math.sin)) / a.length, sum(a.map(degToRad).map(Math.cos)) / a.length ); } var a = [350, 10], b = [90, 180, 270, 360], c = [10, 20, 30]; console.log(meanAngleDeg(a)); console.log(meanAngleDeg(b)); console.log(meanAngleDeg(c));