這個問題在這里已經有了答案: 按屬性值對物件陣列進行排序 32 個答案 11 分鐘前關閉。
我有一個物件陣列。集合中的物件結構相同。
物件的屬性之一是數字。我想按數字從低到高對集合進行排序。
該集合粘貼在下面。我想按屬性“id”排序。
collection : {
{
name: 'string four',
id: '3'
},
{
name: 'string one',
id: '0'
},
{
name: 'string five',
id: '4'
},
{
name: 'string two',
id: '1'
},
{
name: 'string three',
id: '2'
}
};
uj5u.com熱心網友回復:
您宣告陣列的方式存在一個小問題。您需要用 [] 而不是 {} 包圍您的元素。您可以在此處閱讀有關 JavaScript 陣列的更多資訊。
此外,所提到的 Id 當前存盤為字串,因此您需要將其轉換為數字才能進行排序。您可以在此處閱讀有關 JavaScript 排序的更多資訊。
嘗試這個:
let collection = [
{
name: 'string four',
id: '3'
},
{
name: 'string one',
id: '0'
},
{
name: 'string five',
id: '4'
},
{
name: 'string two',
id: '1'
},
{
name: 'string three',
id: '2'
}
];
collection.sort((a,b) => parseInt(a.id, 10) - parseInt(b.id, 10));
console.log(collection);
這是一個作業示例。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/489426.html
標籤:javascript
