这里对Json数据进行了排序:
{ designer : 5, tester :8,developer : 10, backend :7 }我想按以下顺序排序
{ developer :10, tester :8, backend:7, designer :5 }发布于 2020-11-12 06:33:53
为了对JSON对象进行排序,我们必须借助数组。数组保持插入顺序。此外,它还提供了原生sort()方法来对数组元素进行排序。
在sortByKey()函数后面,将JSON对象作为输入并返回按键排序的JSON。
var data = [
{ designer : 5, tester :8,developer : 10, backend :7 }
]
function sortByValue(jsObj){
var sortedArray = [];
for(var i in jsObj)
{
sortedArray.push([i,jsObj[i]]);
}
sortedArray.sort(function(k,v){ return k[1] - v[1]});
sortedArray.reverse();
}
var jsObj = {};
jsObj.designer = 5
jsObj.tester = 8
jsObj.developer = 10
jsObj.backend = 7
var sortedbyValueJSONArray = sortByValue(jsObj);
console.table(sortedbyValueJSONArray);我们将从JSON对象创建jsonValue,jsonKey的jsonKey。然后,我们将使用sort()函数对JSON进行排序。请看下面的例子。
------------------------------
| 0 | 10 | 'developer' |
| 1 | 5 | 'designer' |
| 2 | 7 | 'backend' |
| 3 | 8 | 'tester' |发布于 2020-12-10 01:31:29
如果数据的顺序与您的情况相关,则应该使用数组,而不是对象。
例如:
[
{ "name": "developer", "value": 10 },
{ "name": "tester", "value": 8 },
{ "name": "backend", "value": 7},
{ "name": "designer", "value": 5 }
]排列数组元素的顺序与JSON.parse(data).sort(({value: a}, {value: b}) => b - a)一样简单(在JavaScript、ES6中)。
https://stackoverflow.com/questions/64798864
复制相似问题