如果我具有下面的JSON,并且我需要遍历数组中的每个对象,并通过num键对它们进行排序,然后吐出名称值,那么我该怎么做呢?我的脑子放屁,不记得了。
[{
"name": "bob",
"num": 16
},
{
"name": "mary",
"num": 45
},
{
"name": "tyler",
"num": 3
},
{
"name": "rebecca",
"num": 70
},
{
"name": "michelle",
"num": 81
}]
答案 0 :(得分:0)
如果要升序排序,可以将内置函数$name
与自定义比较器一起使用,然后将/page/context/variable[
let $name := @name
return not(/page/actions//*/text()[contains(., $name)])
]
的结果放入名称数组:
sort
使用map
降序。
答案 1 :(得分:0)
您将需要Array.prototype.sort()和Array.prototype.map()
lst = []; //your list
function sortnum(a, b) {
return a.num - b.num;
}
var result = lst.sort(sortnum).map(function (item) { return item.name; });
答案 2 :(得分:0)
据我了解,您的请求可以通过以下方式执行:
[{
"name": "bob",
"num": 16
},
{
"name": "mary",
"num": 45
},
{
"name": "tyler",
"num": 3
},
{
"name": "rebecca",
"num": 70
},
{
"name": "michelle",
"num": 81
}].sort((a,b)=>a.num-b.num).map(a=>a.name)