JS对对象进行排序的问题
JS,有个数组对象,结构大概是这样的,如果我要根据currtentTime对对象进行排序(降序),怎样写比较好。我尝试用sort() ,但没有成功。请指教,谢谢
[{
content: '内容内容',
currtentTime: 1596184337513
}, {
content: '内容内容',
currtentTime: 1596994339913
}, {
content: '内容内容',
currtentTime: 1596884377513
}] sort()和reverse() a = [{
content: '内容内容',
currtentTime: 1
}, {
content: '内容内容',
currtentTime: 3
}, {
content: '内容内容',
currtentTime: 2
}]
function compare(p){
return function(m,n){
var a = m
var b = n
return a-b
}
}
console.log(a.sort(compare('currtentTime'))); 有啥问题吗
/**根据对象数组中的某个属性值进行排序
* eg: newArr.sort(objSort('number',false))
* @Param attr 排序的属性
* @param rev true表示升序排列,false降序排序
* */
function objSort(attr, rev){
//第二个参数没有传递 默认升序排列
if(rev ==undefined)
rev = 1;
else
rev = (rev) ? 1 : -1;
return function(a, b){
a = a;
b = b;
if(a < b)
return rev * -1;
if(a > b)
return rev * 1;
return 0;
};
}
var newArr = [{
content: '内容内容',
currtentTime: 1596184337513
}, {
content: '内容内容',
currtentTime: 1596994339913
}, {
content: '内容内容',
currtentTime: 1596884377513
}];
console.log( newArr.sort(objSort('currtentTime',false)) );
leslie初见 发表于 2020-7-31 21:41
/**根据对象数组中的某个属性值进行排序
* eg: newArr.sort(objSort('num ...
学习了,平时用的是框架。 let arr = [{ x: 2 }, { x: 1 }, { x: 4 }, { x: 3 }];
console.log(arr.sort((a, b) => a.x - b.x));
页:
[1]