sha*_*roo 0 javascript arrays sorting jquery json
我有一个对象的对象。我想根据 进行排序id。
这是我的数据
{
1918: {
id: "1544596802835",
item_id: "1918",
label: "Soft Touch Salt Free Mint 500 ml (000001400045)",
combo_items: false
}
6325: {
id: "15445968134652",
item_id: "6325",
label: "Mirindas Orange Flover 300 ml (012000800160)",
combo_items: false
}
6336: {
id: "15445968106815",
item_id: "6336",
label: "Sting Energy 250ml (012000034220)",
combo_items: false
}
6498: {
id: "1544596806967",
item_id: "6498",
label: "Tido Candy (01)",
combo_items: false
}
7461: {
id: "15445968057103",
item_id: "7461",
label: "Skin Whitening Facial Kit (000051032012)",
combo_items: false
}
}
Run Code Online (Sandbox Code Playgroud)
首先,您不应该依赖 JavaScript 对象中的属性顺序(有关详细信息,请参阅此问题),这意味着您需要将对象排序到数组中。
这可以很容易地使用以下方法完成Array.prototype.sort():
const sorted = Object.values(data).sort((a, b) => a.id - b.id);
Run Code Online (Sandbox Code Playgroud)
完整片段:
const sorted = Object.values(data).sort((a, b) => a.id - b.id);
Run Code Online (Sandbox Code Playgroud)
(我修复了对象文字,因为它在属性之间缺少逗号)