برنامه نویسی

چگونه می توان نقشه را در JavaScript مرتب کرد؟

مرتب سازی Map در JavaScript نیاز به تبدیل آن به یک آرایه ، مرتب سازی آن ، و سپس تبدیل آن به یک Mapبشر در زیر رویکردهای متداول برای مرتب سازی A وجود دارد Map بر اساس کلیدها یا مقادیر.


1. استفاده از Map.entries() وت sort() روش

  • تبدیل کردن Map.entries() به یک آرایه
  • آرایه را بر اساس کلیدها مرتب می کند
  • دوباره آن را به یک تبدیل می کند Map

مثال: مرتب سازی بر اساس کلیدها (صعودی)

let map1 = new Map([
    [4, 2],
    [2, 3]
]);

map1.set(3, 10);
console.log("Original Map:", map1);

// Sorting by keys
map1 = new Map([...map1.entries()].sort());

console.log("Sorted by Keys:");
for (let [key, value] of map1) {
    console.log(key, value);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خروجی:

Original Map: Map(3) { 4 => 2, 2 => 3, 3 => 10 }
Sorted by Keys:
2 3
3 10
4 2
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


2 Array.from() وت sort() روش

  • تبدیل کردن Map به یک آرایه با استفاده از Array.from()
  • آن را بر اساس کلیدها یا مقادیر مرتب می کند
  • آن را دوباره به a تبدیل می کند Map

مثال: مرتب سازی بر اساس مقادیر (صعودی)

let map1 = new Map([
    [4, 2],
    [2, 3]
]);

map1.set(3, 10);
console.log("Original Map:", map1);

// Sorting by values in ascending order
const newMap = Array.from(map1).sort((a, b) => a[1] - b[1]);

const sortedMap = new Map(newMap);
console.log("Sorted by Values:", sortedMap);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خروجی:

Original Map: Map(3) { 4 => 2, 2 => 3, 3 => 10 }
Sorted by Values: Map(3) { 4 => 2, 2 => 3, 3 => 10 }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


3. با استفاده از لوداش _.sortBy عمل

  • تبدیل کردن Map به یک آرایه
  • کاربردهای _.sortBy() برای مرتب سازی بر اساس مقادیر
  • تبدیل به یک Map

مثال: مرتب سازی بر اساس مقادیر (صعودی)

// Importing the lodash library
const _ = require('lodash');

let map1 = new Map([
    ['banana', 3],
    ['apple', 5],
    ['orange', 2],
]);

map1.set('grape', 10); // Adding a new element

console.log("Original Map:", map1);

// Sorting by values in ascending order
const sortedMap = new Map(_.sortBy(Array.from(map1), [(entry) => entry[1]]));

console.log("Sorted Map:", sortedMap);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خروجی:

Sorted Map: Map { 'orange' => 2, 'banana' => 3, 'apple' => 5, 'grape' => 10 }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


خلاصه

روش معیارهای مرتب سازی بازگشت به نقشه؟
Map.entries() با sort() انواع توسط کلیدها بله
Array.from() با sort() انواع توسط کلیدها یا مقادیر بله
لوداش _.sortBy() انواع توسط مقادیر بله

بسته به اینکه آیا شما نیاز به مرتب سازی بر اساس کلیدها یا مقادیر دارید ، هر روش مفید است. 🚀

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا