我希望对json
对象进行排序,然后从当前位置向下和向下升级。
我有以下json
对象。
[
{
"Grade": "1+"
},
{
"Grade": "1"
},
{
"Grade": "1-"
},
{
"Grade": "10"
},
{
"Grade": "11"
},
{
"Grade": "12"
},
{
"Grade": "2+"
},
{
"Grade": "2"
},
{
"Grade": "2-"
},
{
"Grade": "3+"
},
{
"Grade": "3"
},
{
"Grade": "3-"
}
]
示例01:
假设我当前的位置是1+
down word
按钮,然后点击1 minus
并获得结果1
down word
按钮,然后点击1 minus
并获得结果
1-
down word
按钮,然后点击1 minus
并获得结果
2+
up word
按钮,然后点击1 minus
并获得结果1-
我试过
var arr = [];
for(var jj in RatingGrade)
arr.push([jj, RatingGrade [jj]]);
console.log(RatingGrade);
var start = "1+";
var counter = 0;//work on up down button by increase and decrease
if( counter < 0 ){
$('#gen_override_gradename').text(arr[i - (counter)].GradeNo);
$('#pd_GradeName').text(arr[i - (counter)].GradeName);
$('#gen_avg_pd').text(arr[i - (counter)].AveragePD);
} else {
if(counter == 0){
$('#gen_override_gradename').text($('#rating_grade').text());
$('#pd_GradeName').text($('#base_pd_score').text());
} else {
$('#gen_override_gradename').text(arr[i - (1 + (counter))].GradeNo);
$('#pd_GradeName').text(arr[i - (1 + (counter))].GradeName);
$('#gen_avg_pd').text(arr[i - (1 + (counter))].AveragePD);
}
}
但它的工作正常。
答案 0 :(得分:0)
以下代码段将对您的json进行排序:
json.sort(function (a, b) {
return = a.id - b.id;
});
但是,+
和-
符号需要使用其他逻辑来处理,因为您通过包含符号来排除“整数值”。现在它是一个字符串,当你试图将它与1比较时,它不会保留任何值。基本上,解析符号并在排序完成后将它们重新输入。