我下面有这些数据,我想放入一个数组,但按名称(x)排序
以下是数据:
params:
name2:
height: 2
name0:
height: 0
name1:
height: 3
这是代码:
data.f = []
Object.keys(data.params).forEach((key, idx) => {
data.f.push({
...data.params[key],
name: `${idx} - ${key}`
});
})
目前,它只是在读取它时将其推入数组中,但是没有排序。
在读取时或填充后如何订购?
答案 0 :(得分:0)
之后,您可以将sort函数与自定义的compareFunction一起使用
data.f.sort((a,b) => a.name > b.name)
此外,如果我建议的话,您无需创建数组并将其推入。 您可以只使用map函数并编写:
data.f = Object.keys(data.params).map((key, idx) => {
return {
...data.params[key],
name: `${idx} - ${key}`
};
});
答案 1 :(得分:0)
Object.keys(data.params)
.sort((a,b) => data.params[a].height > data.params[b].height)
.forEach((key, idx) => {
data.f.push({
...data.params[key],
name: `${idx} - ${key}`
});
})