Javascript 排序功能有什么问题,还需要改进
我有一个json对象有一些记录,我需要对该对象进行排序 代码: //这个函数有什么问题Javascript 排序功能有什么问题,还需要改进,javascript,performance,logic,Javascript,Performance,Logic,我有一个json对象有一些记录,我需要对该对象进行排序 代码: //这个函数有什么问题 function sortObj(obj, nextObj){ console.log(obj.position); console.log(nextObj.position); if(obj.position < nextObj.position){ return obj; }else{ return nextObj; } }
function sortObj(obj, nextObj){
console.log(obj.position);
console.log(nextObj.position);
if(obj.position < nextObj.position){
return obj;
}else{
return nextObj;
}
}
var driverObjects = data[0].MRData.StandingsTable.StandingsLists[0].DriverStandings;
console.log(driverObjects);
var sortedData = driverObjects.sort(sortObj); //Do I need to use any other functions //like filter, map ?
console.log(sortedData);
功能sortObj(obj,nextObj){
控制台日志(目标位置);
控制台日志(nextObj.位置);
if(目标位置<下一个目标位置){
返回obj;
}否则{
返回nextObj;
}
}
var driverObjects=data[0]。MRData.StandingsTable.StandingsLists[0]。DriverStandings;
控制台日志(驱动对象);
var sortedData=driverObjects.sort(sortObj)//我是否需要使用任何其他函数//如过滤器、映射?
控制台日志(sortedData);
看一下控制台,要使用输出,我将输出排除在外,如下所示
[Object{position=“1”,positionText=“1”,points=“100”,more…},Object{position=“2”,positionText=“2”,points=“97”,more…}]
但它的显示方式与传递的函数相同
排序方法的回调函数应返回
-1
(当第二个参数较大时)、0
(当两个参数相等时)或1
(当第一个参数较大时)
所以您需要这个排序函数:
function sortObj(obj, nextObj){
return obj.position - nextObj.position;
}
sortObj()应返回正值或负值或0
你可以这样做
function sortObj(obj, nextObj){
console.log(obj.position);
console.log(nextObj.position);
return nextObj.position-obj.position
}
谢谢,我以前试过,但可能没有正确检查,非常感谢,我犯了这样一个愚蠢的错误
function sortObj(obj, nextObj){
console.log(obj.position);
console.log(nextObj.position);
return nextObj.position-obj.position
}