function getdisklist()
{
var disklist = [];
for (var i=0; i<10; i++){
                  var disk = new Object();
disk.name = 'z'+i;
disk.Value =  100+i;
disklist.push(disk);
}
return disklist;
}高手能帮忙一下,我想要对上面的输出,按Value 的值进行排序。十分感谢谢上面的这种数组叫什么数组呀?

解决方案 »

  1.   

    alert([{ a : 2, toString : function () { return this.a } }, { a : 1, toString : function () { return this.a } }].sort(function (a, b) {
    return a.a - b.a;
    }));
    降序就改
    a.a - b.a

    b.a - a.a
      

  2.   

    KAO,这美女王好奇啥时候变外星人了咧?想和马云一个范儿?哈哈
      

  3.   

    不知楼主什么意思。返回的DISKLIST里面的DISK们的VALUE,原本就是有序的。
      

  4.   

    是这样的。这个数组disklist是通过很多disk组成的。每个DISK都包含有name和Value属性。
    如要取出第一个DISK下面的内容是通过disklist[0].name和disklist[0].Value
      

  5.   


    你是按照value排序塞进数组的 出来的时候按照顺序取出来就是排好序了的啊 
      

  6.   

    function getdisklist()
    {
    var disklist = [];
    for (var i=0; i<10; i++){
      var disk = new Object();
    disk.name = 'z'+i;
    disk.Value = 100+i;
    disklist.push(disk);
    }
    return disklist;
    }这不是已经排好序了吗?js 数组有sort 方法可以排序
    disklist.sort(function(a,b){return a.Value -b.Value ;})
      

  7.   

    额...
    = =,那换个头像好了...#5
    可参考msdn
    http://msdn.microsoft.com/en-us/library/4b4fbfhk(VS.85).aspx
      

  8.   

    var list = [];
    list.push({name:"a",value:1});
    list.push({name:"b",value:5});
    list.push({name:"c",value:3});
    list.sort(function(a,b){
    return b.value-a.value;
    });
    alert(list[0].name+list[1].name+list[2].name);
      

  9.   

    估计应该有SORT方法了
    没了自己写也成吧
      

  10.   

    LZ啊,这是基本功。<script>
    var arr = [{"z8":108}, {"z1":101}, {"z5":105}, {"z2":102}, {"z0":100}, {"z4":104}, {"z6":106}, {"z7":107}, {"z3":103}, {"z9":109}];
    //按值进行排序
    arr.sort(function(a, b){
             var x, y;
             for (var m in a) x = a[m];
             for (var n in b) y = b[n];
             return x - y
    });
    //查看排序结果
    for (var i=0; arr[i]; i++) {
         for (var o in arr[i]) alert(arr[i][o]);
    }
    </script>
      

  11.   

    题意理解错了,改正也很简单啊,改了就是好先生,哈哈哈。<script type=text/javascript>
    var arr = [
               {"name":"z8","value":108}, {"name":"z1","value":101}, {"name":"z5","value":105}, 
               {"name":"z2","value":102}, {"name":"z0","value":100}, {"name":"z4","value":104}, 
               {"name":"z6","value":106}, {"name":"z7","value":107}, {"name":"z3","value":103}, 
               {"name":"z9","value":109}
    ];
    //按值进行排序
    arr.sort(function(a, b){
             var x, y;
             for (var m in a) m != "value" || (x = a[m]);
             for (var n in b) n != "value" || (y = b[n]);
             return x - y
    });
    //查看排序结果
    for (var i=0; arr[i]; i++) {
         for (var o in arr[i]) o != "value" || alert(arr[i][o]);
    }
    </script>
      

  12.   

    用这个方法解决了。 
    str.sort(function(a, b){
    return a.start - b.start;
    });
    十分感谢谢各位的帮助!