برنامه نویسی
چگونه می توان نقشه را در 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()
|
انواع توسط مقادیر | بله |
بسته به اینکه آیا شما نیاز به مرتب سازی بر اساس کلیدها یا مقادیر دارید ، هر روش مفید است. 🚀