Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 角度2数组排序重构_Arrays_Angular_Typescript_Sorting_Refactoring - Fatal编程技术网

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)
。但我不确定这有什么帮助,真的。这段代码无论如何都会被编译,所以您可能也会将其缩小。