Arrays 角度2数组排序重构
这是我的代码:Arrays 角度2数组排序重构,arrays,angular,typescript,sorting,refactoring,Arrays,Angular,Typescript,Sorting,Refactoring,这是我的代码: let sortArray = array1.sort((a,b)=> a.id - b.id); let array1Ids: number[] = []; sortArray.map(resp => array1Ids.push(resp .id)); 我想使这段代码更加优化,我如何重构它? 我的目标只是排序和获取ID。 let sortedArrayIds = array1.sort((a,b) => a.id - b.id).map(elemen
let sortArray = array1.sort((a,b)=> a.id - b.id);
let array1Ids: number[] = [];
sortArray.map(resp => array1Ids.push(resp .id));
我想使这段代码更加优化,我如何重构它?
我的目标只是排序和获取ID。
let sortedArrayIds = array1.sort((a,b) => a.id - b.id).map(element => element.id);
如果使用map,则应始终将其放在表达式的右侧,因为map返回新数组。如果只需要一次迭代,请使用forEach。不要使用
map
进行简单的迭代。如果您想返回一个只包含id的新数组,那么这正是map
已经做的.map(resp=>resp.id)
您所说的“更优化”是什么意思?这里是否存在性能问题?你想把代码缩短一点吗?还有什么?我想要一个较短的版本让array1Ids:number[]=array1.map(x=>x.id).sort((a,b)=>a-b)
。但我不确定这有什么帮助,真的。这段代码无论如何都会被编译,所以您可能也会将其缩小。