gpt4 book ai didi

javascript - 对嵌套的 json 复杂数组进行排序

转载 作者:行者123 更新时间:2023-11-30 14:39:38 25 4
gpt4 key购买 nike

我搜索如何按 place.city 这种具有 id 键的对象进行排序。需要为第一个键保留 id…

{
"123": {
"place": {
"city": "New York",
"country": "USA"
},
"person": {
"name": "Bob",
"age": 45
}
},
"456": {
"place": {
"city": "Chicago",
"country": "USA"
},
"person": {
"name": "Louis",
"age": 34
}
},
"789": {
"place": {
"city": "Dallas",
"country": "USA"
},
"person": {
"name": "Kevin",
"age": 27
}
}
}

我尝试了一些这样的功能,但这里没有预期的结果。

let result = _(myObject).map(function (value, key) {
return _.defaults({ name: key }, value)
}).sortBy('city').value()

最佳答案

您无法对对象进行排序。但是,您可以将对象转换为数组并对其进行排序。

var data ={
"123" : {
"place": {
"city": "New York",
"country": "USA"
},
"person": {
"name": "Bob",
"age": 45
}
},
"456" : {
"place": {
"city": "Chicago",
"country": "USA"
},
"person": {
"name": "Louis",
"age": 34
}
},
"789" : {
"place": {
"city": "Dallas",
"country": "USA"
},
"person": {
"name": "Kevin",
"age": 27
}
}
};

var sortedByPlace = _.sortBy(Object.keys(data).map(k => ({id:k, ...data[k]})), (d)=> d.place.city)

console.log(sortedByPlace);
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.5/lodash.min.js"></script>

关于javascript - 对嵌套的 json 复杂数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49871592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com