精华内容
下载资源
问答
  • 所推荐的程序在IE下跑了下,的确,排序耗时很小。 代码如下: [removed] /* * 洗牌 */ function ... /* * 快速排序某个属性,或“获取排序依据的函数”,来排序. * @method soryBy * @static * @
  • 主要介绍了JS实现json对象数组按对象属性排序操作,涉及javascript使用sort方法针对json数组的遍历与排序相关操作实现技巧,需要的朋友可以参考下
  • //要排序的数据 let data = [ {chinese: '蔡司', english: 'Chase'}, {chinese: '艾伦', english: 'Allen'}, {chinese: '左拉', english: 'Zola'}, {chinese: '贝克', english: 'Baker'}, {chinese: '伯格', ...
    //要排序的数据
    let data = [
            {chinese: '蔡司', english: 'Chase'},
            {chinese: '艾伦', english: 'Allen'},    
            {chinese: '左拉', english: 'Zola'},
            {chinese: '贝克', english: 'Baker'},    
            {chinese: '伯格', english: 'Berg'},    
            {chinese: '菲奇', english: 'Fitch'},    
            {chinese: '迪安', english: 'Dean'},    
            {chinese: '厄尔', english: 'Earle'},        
            {chinese: '亨利', english: 'Henry'},      
        ]
    
    //根据汉字首字母排序
    //使用箭头函数
    //【注】localeCompare() 是js内置方法
    // data.sort((a, b)=> b.chinese.localeCompare(a.chinese, 'zh')); //z~a 排序
    // data.sort((a, b)=> a.chinese.localeCompare(b.chinese, 'zh')); //a~z 排序    
    // console.log(data);
    
    //根据英文排序 比较 首字母ASCLL码
     console.log(data[0].english.charCodeAt(0));
    // data.sort((a, b) => b.english.charCodeAt(0) - a.english.charCodeAt(0)); //z~a 排序
    data.sort((a, b) => a.english.charCodeAt(0) - b.english.charCodeAt(0)); //a~z 排序    
    
    console.log(data);

     

    展开全文
  • JS对象数组根据属性排序

    千次阅读 2018-11-05 18:44:03
    在项目中需要给grid的某一列排序,但又不是miniui那样的人为的操作,本来是想用冒泡来排下序就行了,结果发现事情没有这么简单,当然也没有那么复杂,之前转的一篇文章中,介绍了很多js数组的方法,今天就用到了sort...

    在项目中需要给grid的某一列排序,但又不是miniui那样的人为的操作,本来是想用冒泡来排下序就行了,结果发现事情没有这么简单,当然也没有那么复杂,之前转的一篇文章中,介绍了很多js数组的方法,今天就用到了sort()方法。

    sort()方法会改变原来的数组,并且sort方法并不是严格按照数字大小排序的,好像是根据字符的阿斯科码表对应值排序的。如果想对数组按照大小进行排序,则需要在sort()方法添加比较函数。

    下面的代码转载于一个女生的博客园,地址是:https://www.cnblogs.com/yuwenjing0727/p/6856991.html

    var arr = [ 
        {name:'zopp',age:0}, 
        {name:'gpp',age:18}, 
        {name:'yjj',age:8}
         ]; 
    
    function compare(property){ 
        return function(a,b){ 
        var value1 = a[property]; 
        var value2 = b[property]; 
        return value1 - value2; 
            } 
        }
    
     console.log(arr.sort(compare('age')))

    如何根据参数不同,来确定是升序排列,还是降序排序呢?

    /**数组根据数组对象中的某个属性值进行排序的方法 
         * 使用例子:newArray.sort(sortBy('number',false)) //表示根据number属性降序排列;若第二个参数不传递,默认表示升序排序
         * @param attr 排序的属性 如number属性
         * @param rev true表示升序排列,false降序排序
         * */
        sortBy: function(attr,rev){
            //第二个参数没有传递 默认升序排列
            if(rev ==  undefined){
                rev = 1;
            }else{
                rev = (rev) ? 1 : -1;
            }
            
            return function(a,b){
                a = a[attr];
                b = b[attr];
                if(a < b){
                    return rev * -1;
                }
                if(a > b){
                    return rev * 1;
                }
                return 0;
            }

     

    展开全文
  • 主要介绍了JS sort方法基于数组对象属性排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 主要介绍了js 根据对象数组中的属性进行排序实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • NULL 博文链接:https://pridesnow.iteye.com/blog/1453660
  • 【Java】对象数组按照某属性排序

    千次阅读 2020-10-15 15:58:19
    排序就要有比较的方法, 因为是自定义的类, 系统不知道怎么做两个自定义类的比较,所以我们要自己在类内写两个类的比较的方法,也就是告诉按照那个属性或者那种方式来给对象数组排序,自定义比较算法也就是实现...

    有时候需要对对象列表或数组进行排序,下面提供两种简单方式:

    方法一、将要排序的对象类实现< Comparable >接口。

    要排序就要有比较的方法, 因为是自定义的类, 系统不知道怎么做两个自定义类的比较,

    所以我们要自己在类内写两个类的比较的方法,也就是告诉按照那个属性或者那种方式来给对象数组排序

    自定义比较算法也就是实现Comparable接口:(会自动生成需要自己写的方法如下图)

    public class Good implements Comparable<Good>
    {
    	String name;
    	int price;
    	public Good(String name,int price) 
    	{
    		this.name=name;
    		this.price=price;
    	}
    	@Override
    	public int compareTo(Good good) {
    		// TODO Auto-generated method stub
    		return this.price-good.price;
    	}
    	
    }
    

    调用Collections.sort();

    public static void main(String[] args) 
    	{
    		 ArrayList<Good> goods = new ArrayList<Good>();
    		 goods.add(new Good("二", 2));
    		 goods.add(new Good("三", 3));
    		 goods.add(new Good("一", 1));
    		 
    		 System.out.println("排序前:");
    	     for (Good good : goods)
    	         System.out.println("姓名:"+good.name+" 价格:"+good.price);
    	     
    	     Collections.sort(goods);
    	     
    	     System.out.println("排序后:");
    	     for (Good good : goods)
    	         System.out.println("姓名:"+good.name+" 价格:"+good.price);
    	}
    

    方法二:使用Comparator匿名内部类实现。

    class Student {
    
        String name;
        int age;
        int score;
    
        public Student(String name, int age,int score) {
            this.name = name;
            this.age = age;
            this.score = score;
        }
    }
    
    public class Test {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            ArrayList<Student> students = new ArrayList<>();
            students.add(new Student("大铭", 19, 89));
            students.add(new Student("来福", 26, 90));
            students.add(new Student("仓颉", 23, 70));
            students.add(new Student("王磊", 18, 80));
    
            System.out.println("排序前:");
            for (Student student : students) {
                System.out.println("姓名:"+student.name+" 年龄:"+student.age+" 成绩:"+student.score);
            }
    
            Collections.sort(students,new Comparator<Student>() {
    
                @Override
                public int compare(Student o1, Student o2) {
                    // TODO Auto-generated method stub
                    return o1.age-o2.age;
                }
            });
    
            System.out.println("排序后:");
            for (Student student : students) {
                System.out.println("姓名:"+student.name+" 年龄:"+student.age+" 成绩:"+student.score);
            }
        }
    }
    

    本文参考:
    Java对对象按照其属性排序的两种方法

    Java对象数组按照其属性排序的方法

    展开全文
  • 主要介绍了JS实现根据数组对象的某一属性排序操作,涉及javascript针对json数组的遍历、比较、排序等相关操作技巧,需要的朋友可以参考下
  • 主要介绍了JavaScript对象数组如何指定属性排序方向进行排序的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • 在工作场景中会出现对对象数组按照某一对象属性排序的情况,例如对于下面的对象数组按照对象age从小到大排序。 let arr = [ {name: 'code', age: 18}, {name: 'jack', age: 27}, {name: 'fake', age: 13}, {...

          在工作场景中会出现对对象数组按照某一对象属性排序的情况,例如对于下面的对象数组按照对象age从小到大排序。

    let arr = [
        {name: 'code', age: 18},
        {name: 'jack', age: 27},
        {name: 'fake', age: 13},
        {name: 'rade', age: 38},
        {name: 'bob', age: 25}
    ]

         排序的核心算法有很多,一些算法详情可见笔者的另一篇博客经典十大算法的JS实现。下面的排序方法是选择排序,排序函数代码具体如下:

    function objectSort (arr = [], prop, order = true) {
      if (arr.length < 2) return arr
      let temp = [...arr]
      for (let i = 0; i < temp.length - 1; i++) {
          let [v, pos] = [temp[i][prop], i]
          for (let j = i + 1; j < temp.length; j++) {
            if (Number(v) > Number(temp[j][prop])) {
              v = temp[j][prop]
              pos = j
            }
          }
          [temp[i], temp[pos]] = [temp[pos], temp[i]]
      }
      return order ? temp : temp.reverse()
    }

       该方法默认根据对象的指定属性从小到大排序对象数组,通过传入第三参数false,可以从大到小输出数据。

       以下是该方法的工作情况:

      这个排序问题出现于笔者在处理一个可视化需求的时候,当时需要对柱状图数据按照销售总金额进行一个从大到小的排序,最终实现的demo效果如下(数据是随便造的):

     

        该工具函数介绍就到此为止了,如有疑问可与下方留言讨论。 

     

     

    展开全文
  • js中对象数组按对象属性排序

    万次阅读 2019-05-15 16:24:58
    var arr = [{ data: 21, weather:'晴' }, { data: 111, weather:'小雨' }, { data: 32, weather:'大雨' }, { ...
  • 使用sort方法按照id进行排序 排序结果:
  • * 属性排序公共方法 * direction:排序方向desc,asc * sort_data:排序数据 * name:三角形图标daom名称 * tbody:数据显示在哪个tbody * */ function sorting(direction,sort_data,name,tbody){ if...
  • * @desc 根据对象数组中的指定属性进行数组元素排序 * @param objArr 要进行排序操作的对象数组 * @param attribute 排序属性 * @param orderFlag 方式标识,true 为正序 false 为倒序 默认为 true * @returns ...
  • 在javascript中,对象...我们现在有一组“学生”对象,包含“名字,年龄”等属性,现在要求一个算法,把这些对象放在一个数组里,可以实现按照年龄对这些对象进行排序。 var sdts = [ {name:"小明",age:12}, {name
  • Java对象数组按照其属性排序的方法

    千次阅读 2018-11-14 23:17:04
    也就是需要对象数组按照其属性排序 一 类定义时实现Comparable接口,定义自身的比较算法。 要排序就要有比较的方法, 因为是自定义的类, 系统不知道怎么做两个自定义类的比较, 所以我们要自己在类内写两个类的...
  • VUE 数组按对象属性排序

    千次阅读 2020-04-27 10:34:16
    从大到小排序: sortDesByKey(ary,key){ return ary.sort((a,b)=>{ let x = a[key]; let y = b[key]; return ((x<y)?1:(x>y)?-1:0) }) }, 从小到大排序: sortAscByKey(ary,key){ r...
  • 主要介绍了vue数组对象排序的实现代码,这里整理了详细的代码,非常具有实用价值,需要的朋友可以参考下
  • 运用了数组的 sort() 方法进行排序 // 原数组 let data = [ { name:'1', time:'2021-05-22 11:05:32' }, { name:'2', time:'2021-05-26 16:51:19' },{ name:'3', time:'2021-05-25 10:04:32' },{ name:...
  • javascript中对一个对象数组按照对象某个属性进行排序 我们现在有一组“学生”对象,包含“名字,年龄,分数”等属性,现在要求一个算法,把这些对象放在一个数组里,可以实现按照年龄或者分数对这些对象进行排序。 ...
  • js对象数组按对象的时间排序 function sortDownDate(a, b) { //currentSubTime是对象中时间的字段 return Date.parse(a.currentSubTime) - Date.parse(b.currentSubTime); } 使用这个函数 //res是需要排序...
  • 1.对象数组 我们现在有一组对象,包含“name,value”等属性,实现按照value对这些对象进行排序。 series:[ {name:'西安市',value:100}, {name:'威阳市',value:120}, {name:'延安市',value:80}, {name:'南洛市',...
  • 最近遇到了一道多条件排序题,类似于“something有A,B,C三个属性,先比较A,A条件相同时再比较B,B条件相同时再比较C,排序输出”的形式。这类题目用C/C++解决起来会很顺手,可以用结构体,结合sort和compare,就能...
  • 关于数组排序马上会想到sort方法,或者reverse方法 但是后者只是简单的逆序而已不能满足大部分需求。前者功能强大便于扩展,该方法有一个自定义排序函数,一般而言针对数字或者同类型不复杂元素很容易进行自定义排序...
  • 1、代码 let persons = [ { id: 1, name: '张三', age: 20 }, { id: 2, name: '李四', age: 18 }, ...// 按照age属性升序 let ascPersons = persons.sort((a, b) => a.age - b.age); console.log('---

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 180,929
精华内容 72,371
关键字:

对象数组按属性排序