shuffle関数が理解できません

詳しくコメントを入れながら解説しています。
2020年4月25日
ユーザー
function shuffle(arr){
  for(let i = arr.length - 1;i > 0; i--){
    const j = Math.floor(Math.random() * (i + 1));//randomする
    [arr[j],arr[i]] = [arr[i],arr[j]];
  }
  return arr; 
}

このshuffle関数について理解できないですのでご教示いただければ幸いです

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?