Игнорируя k
, как вы говорите, вы можете легко получить расстояния до источника (0,0)
, используя map () :
map () метод создает новый массив с результатами вызова предоставленной функции для каждого элемента в вызывающем массиве.
function calcHypotenuse(a, b)
{
let hyp = Math.sqrt(Math.pow(a,2) + Math.pow(b,2));
return Number.parseFloat(hyp.toFixed(4));
}
function getDistancesTo(points, pair)
{
let [x0, y0] = pair;
return points.map(([x, y]) => calcHypotenuse(x - x0,y - y0));
}
console.log(getDistancesTo([[1, 3], [-2, 2]], [0, 0]));
Я также использую деструктурирование , чтобы сказать, что элементом массива является пара [x,y]
.Но, может быть, вы поймете это лучше так:
function getDistances(points, pair)
{
let x0 = pair[0], y0 = pair[1];
return points.map(p => calcHypotenuse(p[0] - x0, p[1] - y0));
}