JS Puzzle Object 中的鍵是有序的嗎?

Mondo 科技 更新 2024-01-29

當我們使用 for in 遍歷物件時,列印結果是否按鍵的順序列印?

答案是:不一定

最近,當我在做乙個專案時,我遇到了乙個要求,即下拉列表中有 3 個固定選項,包括:-1:全部;0:正常;1:無效。因此,我定義了乙個物件,遍歷它,並將結果放入以上:

var obj = ;
所以有今天的文章,見下文。 

物件鍵的排序規則到底是什麼樣子的?答案是:

如果鍵是整數(例如,123)或整數字串(例如,“123”),它將從最小到最大排序。 除此之外,所有其他資料型別都是按實際建立物件鍵的順序排列的。

var obj = ;for (let key in obj) ;結果 0 正常 1 無效 -1 全部
此外,如果鍵包含除整數或整數字串之外的其他資料型別,則應將整數放在首位,例如:

var obj = ;for (let key in obj) ;結果 1 333 3 555 一 111 I 222 13 444
這就是上面的問題,如何讓物件按照鍵的順序輸出?答案是:

將金鑰轉換為非整數字串,並在使用時恢復它。

如果都是整數鍵,則可以這樣做:

每個鍵都附加在一起。 轉換為字串 var obj = ;for (let key in obj) ;結果 -1 全部 0 正常 1 無效
但是,如果鍵是各種資料型別的混合,則無法將其轉換為整數,因此可以執行以下操作:

每個鍵都位於前面。 轉換為字串 var obj = ;for (let key in obj) ;結果 A 111 I 222 1 333 13 444// 3 555
回到我一開始遇到的問題,它解決了:

var obj = ;
最近,我們又遇到了乙個問題,在詳情頁後台返回金鑰,但是頁面需要顯示副本,所以根據上面的“最後”解決方案,我們只能這樣做:

也就是說,當顯示該值時,它是必需的key+.拼接,這種寫法是很不友好的。 

所以,最後我們用map來處理這個東西,處理起來基本完美,解決方法如下:

定義物件:

const obj = new map([ 1, '都'], 0, '正常'], 1, '失效']])
當迴圈時間時:

檢視詳細資訊時:

objects#ordered-like-an-object

相關問題答案

    為什麼旋轉式火鍋裝置中的一體化涮涮鍋模式不受歡迎?

    近年來,市面上出現了一種可以烤肉的小型旋轉火鍋裝置,它結合了火鍋和燒烤兩種用餐模式,讓消費者可以同時享用兩道菜。然而,這種看似樂觀的模式在實際運營中遇到了許多問題,導致許多企業在開業後不久就倒閉了。首先,油煙問題是旋轉式小型火鍋裝置面臨的一大問題。在烘烤過程中,會產生大量的油煙,如果處理不當,不僅會...

    Q&A 什麼是心理危機?

    心理危機是指當個人面臨困難 挑戰 壓力 衝突和其他情況時發生的暫時性心理失衡。它通常表現為情緒不穩定 焦慮 緊張 抑鬱 恐懼和行為衝動 易激惹和易激惹等情緒反應。心理危機的出現往往與個體的認知 應對能力 社會支援等因素有關。心理危機不是一種疾病,而是一種心理反應。但是,如果心理危機持續太久,或者個人...

    Q&A:為什麼現在的孩子心理很差?

    現在的生活越來越好,吃的玩的應有盡有,但是我們發現現在的孩子心理越來越差,在面對挫折和壓力時,往往會出現各種心理問題,比如焦慮 抑鬱 自閉症等等。那麼,為什麼會這樣呢?讓我們來分解一下。首先,我們可以從家庭環境開始。現在的家庭一般都是獨生子女,孩子在家庭中佔據絕對的中心位置,父母對孩子的期望也很高。...

    塗磊接通解決帥的講話,回應了憤怒

    塗磊接通解決帥的講話,回應了憤怒 找到你的家人還有很長的路要走。尋找親人是一條漫長而艱辛的道路,許多家庭花費了大量的時間和精力,但往往適得其反。像孫卓 謝克峰等人,經過一番次的尋親,終於找到了自己的親人。對於這些人來說,這是一種滿足,一種解脫,是尋親路上的奇蹟。但要說尋親之路一帆風順,那就太誇張了。...

    Q&A 自戀型人格障礙的表現有哪些?

    自戀型人格障礙是一種極度自戀的心理障礙,其中來訪者往往自我陶醉,缺乏同理心和照顧他人的能力。這種疾病通常始於青春期或成年早期,可能對客戶的社交和職業生活產生負面影響。以下是自戀型人格障礙的一些主要表現 .以自我為中心 患有自戀型人格障礙的客戶往往只關注自己的需求和想法,而缺乏對他人的關注和理解。他們...