JavaScript なので以下のコードでいける。他にもよく使われるの3種類ぐらいある。
どういう処理をしてるかわからなければ聞かれれば答えるが、関数名でググって勉強するのをお勧めする。

var items = [1,2,3,4,5]; // シャッフルされるカード番号の配列
var cards = [ ]; // 空っぽの配列に1枚ずつカード番号を追加していく

while (items.length > 0) { // items が空っぽになったらループ終了
// items からランダムで1つずつ値を取得して cards の末尾に追加していく
var num = items.splice(Math.floor(Math.random() * items.length), 1);
cards.push(num[0]); // splice は配列を返すから、1つだけ入った値を取り出す
}
// この時点で cards[0] 〜 cards[4] にシャッフルされた番号が1つずつ入っている
// items は空っぽになってる