javascript

位置:IT落伍者 >> javascript >> 浏览文章

扩展js对象数组的OrderByAsc和OrderByDesc方法


发布日期:2023年05月31日
 
扩展js对象数组的OrderByAsc和OrderByDesc方法

看了一段时间关于js原型的知识js的扩展方法是基于原型的如ArrayprototypeXXXX就是给Array扩展XXX方法然后数组都能使用这个方法了

在对象数组里面经常有根据属性来进行排序的升序降序的于是自己就想写一个类似于C#里面的orderBy的方法代码如下

代码如下:

ArrayprototypeOrderByAsc = function (func) {

var m = {};

for (var i = ; i < thislength; i++) {

for (var k = ; k < thislength; k++) {

if (func(this[i]) < func(this[k])) {

m = this[k];

this[k] = this[i];

this[i] = m;

}

}

}

return this;

}

ArrayprototypeOrderByDesc = function (func) {

var m = {};

for (var i = ; i < thislength; i++) {

for (var k = ; k < thislength; k++) {

if (func(this[i]) > func(this[k])) {

m = this[k];

this[k] = this[i];

this[i] = m;

}

}

}

return this;

}

调用的方法如下

代码如下:

var arr = [{ name: aaa grade: } { name: ccc grade: } { name:  bbb grade: }];

var orderArr = arrOrderByDesc(function (a) {

return agrade;

});

然后输出一下看一下结果吧

代码如下:

for (var i = ; i < orderArrlength; i++) {

documentwrite(orderArr[i]name);

}

               

上一篇:jquery 定位input元素的几种方法小结

下一篇:JS实现点击下载的小例子