কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে পয়েন্টের অ্যারেকে একটি দিয়ে गये পয়েন্ট থেকে দূরত্ব অনুযায়ী সর্ট করা


মান লিজিয়ে, আমাদের অবজেক্টের একটি অ্যারে আছে যেটির প্রতিটি অবজেক্টে ঠিক দুটি প্রোপার্টি আছে, x এবং y যা একটি পয়েন্টের কো-অর্ডিনেট রিপ্রেজেন্ট করে। আমাদের একটি ফাংশন লিখতে হবে যা এই অ্যারে এবং x, y কো-অর্ডিনেট ধরে একটি অবজেক্ট নিবে এবং অ্যারেতে থাকা পয়েন্টগুলো (অবজেক্টগুলো) দিয়ে गये পয়েন্ট থেকে দূরত্ব অনুযায়ী সর্ট করবে (নিকটতম থেকে দূরতম)।

দূরত্বের ফর্মুলা

এটি একটি গাণিতিক ফর্মুলা যা বলে যে টু-ডাইমেনশনাল প্লেনে দুটি পয়েন্ট (x1, y1) এবং (x2, y2) এর মধye সবচেয়ে ছোট দূরত্ব হয় -

$S=\sqrt{((x2-x1)^2+(y2-y1)^2)}$

আমরা এই ফর্মুলা ব্যবহার করে প্রতিটি পয়েন্টের দিয়ে गये পয়েন্ট থেকে দূরত্ব বের করব এবং সেটি অনুযায়ী সর্ট করব।

উদাহরণ

const coordinates = [{x:2,y:6},{x:14,y:10},{x:7,y:10},{x:11,y:6},{x:6,y:2}]; const distance = (coor1, coor2) => {    const x = coor2.x - coor1.x;    const y = coor2.y - coor1.y;    return Math.sqrt((x*x) + (y*y)); }; const sortByDistance = (coordinates, point) => {    const sorter = (a, b) => distance(a, point) - distance(b, point);    coordinates.sort(sorter); }; sortByDistance(coordinates, {x: 5, y: 4}); console.log(coordinates);

আউটপুট

কনসোলে আউটপুট হবে -

[    { x: 6, y: 2 },    { x: 2, y: 6 },    { x: 7, y: 10 },    { x: 11, y: 6 },    { x: 14, y: 10 } ]

এটি আসলে সঠিক অর্ডার কারণ (6, 2) (5,4) এর निकটতম, তারপর (2, 6) তারপর (7, 10) এবংكذا।


  1. জাভাস্ক্রিপ্ট Array.find() ফাংশন

  2. জাভাস্ক্রিপ্ট Array.some() ফাংশন

  3. জাভাস্ক্রিপ্ট Array.from() মেথড

  4. জাভাস্ক্রিপ্টে Array.prototype.sort() মেথড