{
"test":[{"jiage":"4","neirong":"第一个数据"}],
"test":[{"jiage":"2","neirong":"第二个数据"}],
"test":[{"jiage":"1","neirong":"第三个数据"}],
"test":[{"jiage":"3","neirong":"第四个数据"}],
}我要按照jiage里数字的大小来排序用js该怎么写

解决方案 »

  1.   

    数据结构有问题. test被重复赋值.lz应该是这个意思:
    var test = [
      {"jiage":"4","neirong":"第一个数据"},
      {"jiage":"2","neirong":"第二个数据"},
      {"jiage":"1","neirong":"第三个数据"},
      {"jiage":"3","neirong":"第四个数据"}
    ];//这个结构可以使用任意排序算法. 冒泡/快速 .. 随便改一下就可以了
      

  2.   

    楼主,你的这些项重名鸟:"test":
    "test":你这样的数据结构来排序,不是很理想,非要做的话,这样凑合一下:
    <script type="text/javascript">var o = {
    "a":[{"jiage":"2","neirong":"第一个数据"}],
    "b":[{"jiage":"1","neirong":"第二个数据"}],
    "c":[{"jiage":"4","neirong":"第三个数据"}],
    "d":[{"jiage":"3","neirong":"第四个数据"}]
    };var tmp = [],tmpo = {};for(var d in o){tmp.push([d,o[d]]);}//准备用数组排序tmp.sort(function(a,b){return b[1][0].jiage-a[1][0].jiage;});//简单排for(var i=0;i<tmp.length;i++){tmpo[tmp[i][0]] = tmp[i][1];}//将排好后的顺序写入新对象o = tmpo,tmp = tmpo = null;//重设原始对象并清除临时数组、对象for(var p in o){alert(p+':'+o[p][0].jiage);}//查看排序后的结果</script>