定义一个数组对象 var arr = [ { name: '名字4', time: '2018-07-07 12:00:00' }, { name: '名字3', time: '2018-07-05 15:35:00' }, { name: '名字2', time: '2018-07-05 14:20:00' }, { name: '名字1', time: '2018-07-05 14:15:00' } ]
定义函数html
var compare = function (prop) { return function () { let obj1, obj2 var val1 = obj1[prop] var val2 = obj2[prop] if (val1 > val2) { return -1 } else if (val1 < val2) { return 1 } else { return 0 } } }
console.log(arr.sort(compare('time'))) 输出:数组
[{ name: '名字1', time: '2018-07-05 14:15:00' }, { name: '名字2', time: '2018-07-05 14:20:00' } , { name: '名字3', time: '2018-07-05 15:35:00' }, { name: '名字4', time: '2018-07-07 12:00:00' } ]函数
这里arr.sort(compare('time'))即为数组按每个元素的time属性的值进行由大到小进行排列。spa
若是想按照name进行排序,只需将compare()函数里的参数改成'name'便可。code