假設亂數產生出 n=2 ,那麼num[2] = 3
以此類推:num[0]=1, num[1]=2, num[2]=3, …, num[9]=10
num[2]
放入 arr[0]
陣列不會因為取代了前方的值,本值就消失 所以最後方[9]=10
繼續剛剛的假設,如果產生出 n = 8 那麼 num[ 8 ]=10 再把 num[ 8 ]=10 放到 arr[1] (此為第二個亂數)。
10-i
是因為要讓每次取 num 陣列的範圍變小,
以上面結果來說明,可以理解成不要取重複 10 的部分。num.length – 1
是因為在把 num 往前移動時,如果不減一,j 在最尾端時 num[j+1] 就會超出陣列範圍。