<div class="codetitle"> <span><a style="CURSOR: pointer" data="15768" class="copybut" id="copybut15768" onclick="doCopy('code15768')"><u>コードをコピーします</u></a></span> コードは次のとおりです。</div> <div class="codebody" id="code15768"> <br><script language="javascript"> >// 指定された配列からランダムに num 個の固有の項目を返します arr<br>function getArrayItems(arr, num) { <br>// 渡された配列を直接操作するのではなく、新しい配列を作成し、受信した配列をコピーして操作します。 🎜>var temp_array = new Array(); <br>for (varindex in arr) { <br>temp_array.push(arr[index]); <br>} <br>/ /取り出した数値項目が格納されるこの配列では <br>var return_array = new Array(); <br>for (var i = 0; i<num i>//配列がまだ存在し、場合によっては要素を取り出せるかどうかを判断します添え字が範囲外になります<br>if (temp_array.length>0) { <br>//配列内にランダムなインデックスを生成します<br>var arrIndex = Math.floor(Math.random()*temp_array. length) ; <br>//このランダムなインデックスの対応する配列要素の値をコピーします<br>return_array[i] = temp_array[arrIndex]; <br>//次に、このインデックスの配列要素を削除し、temp_array を新しい配列になります <br>temp_array.splice(arrIndex, 1); <br>} else { <br>//配列内のデータ項目をフェッチした後、ループを終了します。たとえば、配列には元々 10 個の項目しかありませんでしたが、20 個の項目が必要になります。 <br>break; <br>} <br>} <br>return return_array; <br>var my_array = new Array(); (i = 0 ; i { <br>my_array[i] = "Num:" i; <br>} <br>my_array = getArrayItems(my_array,5); (i = 0 ; i < my_array.length; i ) <BR>{ <BR>alert(my_array[i]) <BR>} <BR></script></num> </div>