对象数组如何排序?

class Program
    {
       class Data : IComparable
       {
        public string name;  //这些必需要加public,否则会出错的
        public int age;
        public void input()
        {
            Console.WriteLine("输入姓名");
            name = Console.ReadLine();
            Console.WriteLine("输入年龄");
            age = Convert.ToInt32(Console.ReadLine());
        }
        public int CompareTo(object obj)
        { Data mc = (Data)obj;
         if (this.age < mc.age) return -1;
         if (this.age>mc.age) return 1;
         return 0;

        }

      }

    static void Main(string[] args)
    {
            int i = 0;
            Data[] data = new Data[3];
            for (i = 0; i < 3; i++)
                data[i] = new Data();
            for (i = 0; i < 3; i++)
                data[i].input();
            Array.Sort(data);
            for (i = 0; i < 3; i++)
            {
                Console.Write("姓名:" + data[i].name);
                Console.WriteLine("年龄:" + data[i].age);
            }

            Console.ReadLine();
      }

    }
时间: 2024-10-03 18:28:04

对象数组如何排序?的相关文章

复杂对象数组的排序

(注:result为待排序数组,newResult为排序后的数组) NSArray *newResult = [result sortedArrayUsingComparator:^(id obj1,id obj2) { NSDictionary *dic1 = (NSDictionary *)obj1; NSDictionary *dic2 = (NSDictionary *)obj2; NSNumber *num1 = (NSNumber *)[dic1 objectForKey:@"val

给object数组进行排序(排序条件是每个元素对象的属性个数)

从汤姆大叔的博客里看到了6个基础题目:本篇是第3题 - 给object数组进行排序(排序条件是每个元素对象的属性个数) 解题关键: 1.Array.sort的用法 2.object的属性数量的统计 解点1:Array.sort的用法 Array.sort可以为数组指定一个排序规则,一般用如下格式进行指定,代码如下: var arr = [10,6,0,4]; console.log( arr.sort() ); //按字符排序 0,10,4,6 console.log( arr.sort( fu

根据对象的某一属性对数组进行排序

//根据对象的某个属性对数组进行排序 function compar(attribute){ return function (obj1,obj2){ if(obj1.attribute > obj2.attribute){ return -1; }else{ return 1; } } };

JS 对象数组Array 根据对象object key的值排序sort,很风骚哦

有个js对象数组 var ary=[{id:1,name:"b"},{id:2,name:"b"}] 需求是根据name 或者 id的值来排序,这里有个风骚的函数 函数定义: function keysrt(key,desc) {   return function(a,b){     return desc ? ~~(a[key] < b[key]) : ~~(a[key] > b[key]);   } } 使用: var ary=[{id:1,nam

用js 对拥有多个对象的数组进行排序

我们想要根据某个对象属性对数组进行排序.而传递给数组sort()方法的比较函数要接收两个参数,即要比较的值.可是,我们需要一种方式来指明按照哪个属性来排序.要解决这个问题,可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数,下面就是这个函数的定义. 1 function createComparisonFunction(propertyName) { 2 return function (object1, object2) { 3 var value1 = object1[

3、假设有一个对象数组,想根据某个对象属性对数组进行排序时

function createComparisonFunction(propertyName){ return function(object1,object2){ var value1=object1[propertyName]; var value2=object2[propertyName]; if(value1<value2){ return -1 }else if(value1>value2){ return 1 }else { return 0; } }} 例如:var data=

JS中:json对象数组按对象属性排序

var array = [ {name: 'a', phone: 1}, {name: 'b', phone: 5}, {name: 'd', phone: 3}, {name: 'c', phone: 4} ] array.sort(getSortFun('desc', 'phone')); function getSortFun(order, sortBy) { var ordAlpah = (order == 'asc') ? '>' : '<'; var sortFun = new F

【OC加强】枚举介绍、数组的排序、对象的排序、如何利用block排序以及一些数据类型知识

(1)枚举的定义和元素调用 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSArray *[email protected][@"one",@"two",@"three"]; //把数组变成枚举 NSEnumerator *enum1=[arr1 objectEnumerator]; NSS

JavaScript实现对象数组按不同字段排序

如果有一个对象数组,我们想要依据某个对象属性对数组进行排序.而传递给数组sort()方法的比較函数要接收两个參数,即要比較的值.但是.我们须要一种方式来指明依照哪个属性来排序.要解决问题,能够定义一个函数,它接收一个属性名,然后依据这个属性名来创建一个比較函数,以下就是这个函数的定义. function createComparionFun(propertyName) { return function(object1,object2) { var value1=object1[property