var arr=[{i:5,v:1},{i:2,v:4},{i:3,v:2},{i:1,v:5},{i:4,v:3}];
arr.sort(function(a, b) { return a.i - b.i; });
console.log(arr);
arr.sort(function(a, b) { return a.i - b.i; });
console.log(arr);
解决方案 »
- 關於移動範圍問題,來者都有分!
- javascript新手,求助
- 关于tabpanel中某个panel销毁的问题
- SOS,大虾求救!!!无法启动World Wide Web Publishing
- 动态数据(纯图片显示)的上下滚动,100高分求教
- 求救,因为由用户触发,也不知道会有多少行,我怎么得到table里的值,td里又有表单,像下拉列表,文本。急呀
- 在textarea的onkeydown事件中怎么确定用户按下的键是中文输入法下还是在英文输入法下
- 怎样用脚本清除<table></table>中的所有标签和文本?
- 如何实现让表格中的的某一条线变粗?
- 前端数据类型的转换
- 12306 java https
- 如何实现浏览网页至末尾就自动加载新内容?
不行,你这样做的结果是:[object Object],[object Object],[object Object],[object Object],[object Object]
不是我想要的结果。
var arr = [{ i: 5, v: 1 }, { i: 2, v: 4 }, { i: 3, v: 2 }, { i: 1, v: 5 }, { i: 4, v: 3 }]; function comparefn(propName)
{
return function (x, y) {
var v1 = x[propName];
var v2 = y[propName];
return v1 - v2;
};
} arr.sort(comparefn('v'));
arr.sort(comparefn('i')); arr.forEach(function (val) {
console.log(val.i,val.v);
});