有没有办法根据其中一个参数对嵌套对象进行排序?
例如,如果我有这样的数据结构:
var someObject = {
'part1328': {
'time': 1543203609575,
},
'part38321': {
'time': 1543203738716,
},
'part1328': {
'time': 1543203746046,
},
'part38338': {
'time': 1543203752264,
}
};
而且我不知道我会提前准备多少零件,也不知道它们的名称是什么。有没有一种方法可以按时间对部件进行排序并获取最新和最旧的部件?
最佳答案
您可以使用 Object.entries
获取一组键/值对作为列表。然后您可以对该列表进行排序并按照您喜欢的方式排列数据:
var someObject = {
'part1328': {
'time': 1543203609575,
},
'part38321': {
'time': 1543203738716,
},
'part1328': {
'time': 1543203746046,
},
'part38338': {
'time': 1543203752264,
}
};
let arr = Object.entries(someObject).sort((a, b) => a.time - b.time)
console.log(arr)
// from here you can manage the data any way you want.
// for example, an array of simple objects:
let merged = arr.map(([key, value]) => ({id: key, ...value}) )
console.log(merged)
关于javascript - 按参数 JS 排序嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53474476/