973.最接近原点的K个数

/**
 * @param {number[][]} points
 * @param {number} k
 * @return {number[][]}
 */
var kClosest = function (points, k) {
    // 这里,平面上两点之间的距离是 欧几里德距离( √(x1 - x2)^2 + (y1 - y2)^2 )。

    // map记录每个点距离原点的距离
    // 原点是(0,0)
    const distanceMap = new Map()
    points.forEach((point, index) => {
        let x = point[0]
        let y = point[1]
        let distance = (x - 0) * (x - 0) + (y - 0) * (y - 0)
        distanceMap.set(point, distance)
    })
    console.log(distanceMap)

    // 按照距离排序
    const arr = Array.from(distanceMap) // map转数组
    arr.sort((a, b) => a[1] - b[1])
    console.log(arr)

    // 截取距离最近的k项并返回点
    return arr.slice(0, k).map(item => item[0])
};

console.log(kClosest([[1, 3], [-2, 2]], 1))