如果我有一个ReadonlyArray<T>
,并且想获得另一个具有相同项目但又相反的ReadonlyArray<T>
,那么最简单的方法是什么?
例如:
const scoresInAscendingOrder: ReadonlyArray<number> = [1, 2, 3, 5, 9];
const scoresInDescendingOrder: ReadonlyArray<number> = ???;
我不能使用scoresInAscendingOrder.reverse()
,因为ReadonlyArray
不支持该方法(正确的做法是,因为它将修改scoresInAscendingOrder
)。
答案 0 :(得分:1)
您可以只使用slice
并反转其结果:
const scoresInAscendingOrder: ReadonlyArray<number> = [1, 2, 3, 5, 9];
const scoresInDescendingOrder: ReadonlyArray<number> = scoresInAscendingOrder.slice(0).reverse()
或者您可以使用更新的传播语法:
const scoresInDescendingOrder: ReadonlyArray<number> = [...scoresInAscendingOrder].reverse()