1、sort(sortby)逆向思维。刚提到它其实有根据返回正负数或0来判断大小的隐藏规则,那么我们只需要取返回数的相反值就可以令sort(sortby)进行错误判断从而达到降序的效果: sortby返回负数:a>b; sortby返回0:a=b; sortby返回正数:a
log(arr.sort(compare)); 输出结果为 [Object { name="wlz", age=25}, Object { name="zlw", age=24}] ,可以看到数组已经按照 name 属性进行了排序。我们可以对上面的比较函数再改造一下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 var compare = function (prop) { return function (obj1...
document.writeln(arrA);*/functiondesc(x,y) {if(x >y)return-1;if(x <y)return1; }functionasc(x,y) {if(x >y)return1;if(x <y)return-1; } arrA.sort(desc);//sort by descdocument.writeln(arrA); document.writeln(""); arrA.sort(asc);//sort by ascdocument.writeln(arrA); //输...
points.sort(function(a,b){returna-b}); }
现在我们就来通过sort(sortby)函数自定义排序的逻辑。 // 升序vararr=[3,2,3,34,12,23,234,84,9];arr.sort(function(a,b){returna-b;});// 结果:2,3,3,9,12,23,34,84,234// 降序vararr=[3,2,3,34,12,23,234,84,9];arr.sort(function(a,b){returnb-a;});// 结果:234,84,34,...
function NumDescSort(a,b) { return b - a; } var arr = new Array( 3600, 5010, 10100, 801); arr.sort(NumDescSort); alert(arr); arr.sort(NumAscSort); alert(arr); sort(fun)接受了个排序规则函数,这个函数将比较2个数字的大小。而我们的对象数组排序,实际上原理也是一样的。
{name:'xiaoming',age:11}];functionsortby(prop,rev=true){// prop 属性名// rev 升序降序 默认升序returnfunction(a,b){varval1=a[prop];varval2=b[prop];returnrev?val1-val2:val2-val1;}}arr.sort(sortby('age'));// 根据age进行升序排列arr.sort(sortby('age',false));// 根据age进行...
当然,数组排序,是有现成的方法的.就是sort()方法. 我们先开看下这个. 标准答案,sort方法 代码语言:javascript 代码运行次数:0 运行 AI代码解释 vararr=[45,98,67,57,85,6,58,83,48,18];console.log('原数组');console.log(arr);console.log('sort方法从小到大排序');console.log(arr.sort(function(...
myArr.sort(function(a, b) { if (a.sortnumber < b.sortnumber) return -1; else if (a.sortnumber > b.sortnumber) return 1; return 0; }); 我尝试使用所有这 3 个 sort() 函数对以下数组进行排序。 var myArr = [{ "sortnumber": 9, ...
下面开始使用sort(sortby) 来进行这个排序,并打印到控制台: 1 function sortId(a,b){ 2 return 3 } 4 result.sort(sortId); 5 console.log(result); 1. 2. 3. 4. 5. 然后查看控制台,排序成功: 如果对比的对象有相同的属性 则添加id属性到新对象上。