有如下数组:保留aaa>0,且结果按照aaa从小到大排序
var array = [
{ aaa: 10, bbb: 'foo' },
{ aaa: -5, bbb: 'bar' },
{ aaa: 20, bbb: 'baz' },
{ aaa: 15, bbb: 'baz' },
{ aaa: -3, bbb: 'qux' }
];
首先筛选用到了filter函数
const shaixuan=array.filter((obj)=>{
return obj.aaa>0
})
然后对筛选结果进行排序,用到sort函数
const paixu=shaixuan.sort((a,b)=>a.aaa-b.aaa)
完整例子
// 假设你有一个包含对象的数组
var array = [
{ aaa: 10, bbb: 'foo' },
{ aaa: -5, bbb: 'bar' },
{ aaa: 20, bbb: 'baz' },
{ aaa: 15, bbb: 'baz' },
{ aaa: -3, bbb: 'qux' }
];
// 实现方法一:
function f(a,b){
return(a.aaa-b.aaa)
}
var filteredArray = array.filter((obj)=> {
return obj.aaa >= 0;
}).sort(f);
// 实现方法二:
var filteredArray = array.filter((obj)=> {
return obj.aaa >= 0;
}).sort((a,b)=>{
return(a.aaa-b.aaa)
});
// 输出过滤后的数组
console.log(filteredArray);