JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://unpkg.com/kd-tree-javascript@1.0.3/kdTree.js"></script>

JavaScript

function KDTEST1(){
  let distance = (a,b) => {
    return Math.pow(a.x-b.x,2)+Math.pow(a.y-b.y,2);
  }
  let checkLength = (tree, x = 0, y = 0) => {
  	let nearest = tree.nearest({"x":x,"y":y},1);
    for(let near of nearest) {
	    console.log(`search [${x},${y}].. found: index:${near[0].index}, y:${near[0].y}`);
    }
    return nearest[0][0];
  }

  let points=[
    {"x":-2.67,"y":2.41,"index":0},
    {"x":-2.67,"y":3.41,"index":1},
    {"x":-2.67,"y":4.41,"index":2},
    {"x":-2.67,"y":5.52,"index":3},
    {"x":-3.67,"y":2.41,"index":4},
    {"x":-3.67,"y":3.41,"index":5},
    {"x":-3.67,"y":4.41,"index":6},
    {"x":-3.67,"y":5.52,"index":7}
  ]

	let tree = undefined;
  tree = new kdTree(points, distance, ["x","y"]);
  /*
  tree=new kdTree([], distance, ["x","y"]);
  points.forEach(point=>{
    tree.insert(point);
  });
  */  
  let point = undefined;
  let posx = 0;
  let posy = 0;
  for(let i = 0; i < 8; i++) {
    point = checkLength(tree, posx, posy);
    posx = point.x;
    posy = point.y;
    tree.remove(point);
  }
}

KDTEST1()