js中map中元素排序

2021-07-09 12:03:11 字數 806 閱讀 9331

方法如下:

function sort() ;

var keys = ["1", "2", "3", "4"];

var result = ;

map["max"] = 999999999; // 存放每一次拍完序後的,該過程中產生的最大的元素。

for(var i=0; iif(temp < map[keys[k]])

}result[i] = temp;

map[ "max"] = temp;

}console.log(result);

}

備註:

因為是map,所以不能通過通常的排序方法,要根據key去遍歷。

外部迴圈,每一次迴圈都把該次迴圈產生的最大的元素放在map的max位置。

內部迴圈,首選判斷該元素是不是大於map中存放的上一次迴圈產生的最大的元素,然後和temp比較。

詳細說明:

原序列:3,5,6,3

i=0:

map[「max」] = 999999999

temp=-1

map中的元素依次和temp進行比較,如果比temp大且比map[「max」]小,則交換temp和該元素的值。

迴圈結束得到map[「max」]=6

i=1:

map[「max」] = 6

temp=-1

map中的元素依次和temp進行比較,如果比temp大且比map[「max」]小,則交換temp和該元素的值。

迴圈結束得到map[「max」]=5

獲取Map中元素

1.對物件的集合 collection 和鍵值對集合 map 都支援嗎?答 不支援的,因為map集合裡面沒有迭代器,凡是支援迭代器的集合他們都支援高階for,高階for是迭代器的簡寫形式 map集合裡面為什麼沒有迭代器 介面 collection他裡面有迭代器,collection介面繼承了介面 i...

棧中元素排序

棧中元素排序 題目 乙個棧中元素型別為整型,現在想將棧頂到棧底從大到小排序。要求 只能申請乙個棧,但可以申請新的變數,不能申請額外的資料結構,如何完成排序。解析 將要排序的棧記為s,申請的輔助棧記為t,在棧s上執行pop操作,彈出的元素為cur,每次彈出乙個元素時,分兩種情況 情況一 如果cur小於...

棧中元素排序

題目描述 設計乙個演算法,將棧中的元素按公升序排列。可另外借用乙個棧來實現。思路 從主棧中依次彈出棧頂元素壓入輔助棧,每當將要壓入的元素使得輔助棧中的元素不是公升序排列,就將輔助棧裡的元素重新壓入原始棧,直到輔助棧裡的元素都小於當前要壓入的元素,然後再壓入當前元素。假設當前主棧裡的元素是。過程 如下...