以所需格式升序和降序排序?下面给出的是 shdata 和所需的输出?
//data is in the given below format
shdata = [
{ 'Name': 'A', 'Data': '57.6' },
{ 'Name': 'B', 'Data': '-10.6' },
{ 'Name': 'C', 'Data': '-50.6' },
{ 'Name': 'D', 'Data': '50.6' },
{ 'Name': 'E', 'Data': '10.6' },
{ 'Name': 'F', 'Data': '0.6' },
{ 'Name': 'G', 'Data': '-5.6' },
];
我想将其按升序和降序排序(如所需的输出)。
注意: shdata[0] 和 shdata[last] 应保持原样,排序应在它们之间.
shdata = [
{ 'Name': 'A', 'Data': '57.6' },
{ 'Name': 'C', 'Data': '-50.6' },
{ 'Name': 'B', 'Data': '-10.6' },
{ 'Name': 'F', 'Data': '0.6' },
{ 'Name': 'E', 'Data': '10.6' },
{ 'Name': 'D', 'Data': '50.6' },
{ 'Name': 'G', 'Data': '-5.6' },
];
最佳答案
这是解决此问题的简单方法。
shdata = [
{ 'Name': 'A', 'Data': '57.6' },
{ 'Name': 'B', 'Data': '-10.6' },
{ 'Name': 'C', 'Data': '-50.6' },
{ 'Name': 'D', 'Data': '50.6' },
{ 'Name': 'E', 'Data': '10.6' },
{ 'Name': 'F', 'Data': '0.6' },
{ 'Name': 'G', 'Data': '-5.6' },
];
var first = shdata.shift();
var last = shdata.pop();
shdata.sort( function (a,b) {
if( parseFloat(a.Data) > parseFloat(b.Data)){
return 1;
}else {
return 0;
}
});
shdata.splice(0,0,first);
shdata.push(last);
关于javascript - 数组中的数据排序保持第一个和最后一个元素位置固定在 angular2 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47019637/