不要收到这样的消息:‘将这个数组“排序”操作移动到一个单独的语句’
if (isDefined(this.#Type.externalControls)){
this.#Type.externalControls = this.#Type.externalControls.sort(sortFn);
this.#Type.externalControls.forEach((control: ITypeControl) => {
externalForm.push(new FormControl(control));
});
}请帮我解决这个问题。
发布于 2022-03-19 14:40:08
.sort所做的是对调用的数组进行排序,然后返回该数组。将.sort的返回值分配给一个新变量很可能会引起混淆,因为现在您(可能)有两个引用相同的(现在已排序)数组,而不是一个对排序数组的引用和一个对未排序数组的引用。
那是
const arr = getArr();
const sortedArr = arr.sort();令人困惑因为arr === sortedArr。
警告是告诉您不要使用.sort的返回值,以避免混淆自己。变化
this.#Type.externalControls = this.#Type.externalControls.sort(sortFn);至
this.#Type.externalControls.sort(sortFn);https://stackoverflow.com/questions/71539059
复制相似问题