您现在的位置是:首页 >

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

火烧 2022-02-11 06:33:10 1071
扩展j 对象数组的OrderByA c和OrderByDe c方法   看了一段时间关于j 原型的知识 j 的扩展方法是基于原型的 如Array rototy e XXXX就是给Array扩展XXX方

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

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

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

  代码如下:

  Array prototype OrderByAsc = function (func) {

  var m = {};

  for (var i = ; i < this length; i++) {

  for (var k = ; k < this length; k++) {

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

  m = this[k];

  this[k] = this[i];

  this[i] = m;

  }

  }

  }

  return this;

  }

  Array prototype OrderByDesc = function (func) {

  var m = {};

  for (var i = ; i < this length; i++) {

  for (var k = ; k < this length; k++) {

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

  m = this[k];

  this[k] = this[i];

  this[i] = m;

  }

  }

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

  }

  return this;

  }

  调用的方法如下

  代码如下:

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

  var orderArr = arr OrderByDesc(function (a) {

  return a grade;

  });

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

  代码如下:

  for (var i = ; i < orderArr length; i++) {

  document write(orderArr[i] name);

lishixinzhi/Article/program/Java/JSP/201311/19823  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码