亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在數組中的數組的第二個值之后排序?

如何在數組中的數組的第二個值之后排序?

翻閱古今 2021-10-14 12:40:46
我想操縱對象 {a: 1, b: 20, c: 3, d: 4, e: 1, f: 4}到這個{a: 1, e: 1, c: 3, d: 4, f: 4, b:20} (按升序排序數字的對象),這些具體步驟(我知道必須有更簡單,更先進的方式):定義一個名為“sort”的函數,它將一個對象作為參數,并在其中聲明一個名為“arr”的空數組。在對象內部循環并為每次迭代推送一個包含鍵和值的數組到“arr”。按對象值對數組進行數字排序(嵌套數組中的第一個位置)創建一個名為“newObj”的空對象。循環遍歷數組并為每次迭代將第一個和第二個元素分別作為鍵和值分配給我們的“newobJ”返回'newObj'。這是我到目前為止。代碼在排序部分有問題,但也許還有其他我還不知道的事情。function sort(object) {    var arr = []    var newObj = {}    Object.entries(object).forEach(function(element, index) {        arr.push(element)    })    arr[index][1].sort(function(a, b){return b-a});      arr.forEach(function([key, value], index) {        newObj[key] = value    })    return newObj}我需要如何改進我的代碼才能使該功能正常工作?
查看完整描述

2 回答

?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

您可以獲取條目,按第二個索引排序并獲得一個新對象。


var object = { a: 1, b: 20, c: 3, d: 4, e: 1, f: 4 },

    result = Object.fromEntries(

        Object

            .entries(object)

            .sort((a, b) => a[1] - b[1])

    );


console.log(result);


查看完整回答
反對 回復 2021-10-14
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

通過采用你的算法,


arr[index][1].sort(function(a, b){return b-a});  

您需要按以下方式對完整數組進行排序


arr.sort(function (a, b) { return a[0] - b[0]; });

Array#sort 接受一個回調,它有兩個參數,每個項目一個,并返回一個反映兩個元素所需順序的值。


在這種情況下,通過獲取一個條目數組,您可以將兩個數組作為參數,例如


['a', 1]

['b', 20]

從此數組中獲取索引 1 中的值并返回它的增量。


查看完整回答
反對 回復 2021-10-14
  • 2 回答
  • 0 關注
  • 263 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號