乱数を重複しないよう8個配列へ格納したいのですが、
格納の時点でエラーが発生します。
「オブジェクトでサポートされていないメソッドまたはプロパティです」
なぜでしょう?
どなたかご教授下さい。
numbers = new Array(); // 空の配列宣言。
function make() {
while(numbers.length < 8){
check = true;
number = Math.floor(Math.random() * 100);// ランダムに0~99までの整数を取得。
for(i = 0; i < numbers.length; i++) { // 今取得したものと同じ乱数がないか、
if(number == numbers[i]) { // 配列の中身全てと比較。
check = false;
}
}
if(check) {
numbers.push(number); // 取得した乱数を配列に格納。
}
}
}
No.2ベストアンサー
- 回答日時:
> IE5.0なんですが、同様にしてみたところ、
あ、それかも。
http://msdn.microsoft.com/library/default.asp?ur …
によると、push メソッドは、JScript 5.5 を要求していて、そのバージョンは
IE5.0 では満たしていない(→参考URL)ので。
> とりあえずIE6.0に更新してみます。
これで解決するでしょう。
参考URL:http://msdn.microsoft.com/library/default.asp?ur …
No.1
- 回答日時:
ブラウザは何?
質問のスクリプトを、そのまんま動かしてみたけど、動くよ。
<html>
<script>
numbers = new Array(); // 空の配列宣言。
function make() {
while(numbers.length < 8){
check = true;
number = Math.floor(Math.random() * 100);// ランダムに0~99までの整数を取得。
for(i = 0; i < numbers.length; i++) { // 今取得したものと同じ乱数がないか、
if(number == numbers[i]) { // 配列の中身全てと比較。
check = false;
}
}
if(check) {
numbers.push(number); // 取得した乱数を配列に格納。
}
}
// ここだけ追加してみた
alert(numbers.length)
for(i = 0; i < numbers.length; i++) {
alert(numbers[i])
}
}
</script>
<body>
<input type=button value="make" onclick="make()">
</body>
</html>
# IE5.5 と NS7.0 で確認。
「格納の時点でエラー」というのが勘違い、ということは無い?
この回答への補足
早速のアドバイスありがとうございます。
IE5.0なんですが、同様にしてみたところ、
13行目で同じエラーが発生しました。
13行目が"if(check) {"なので、
numbers.push(number)だと思います。
ヴァージョンの問題なのでしょうか?
ちなみに本当はonLoadでこの関数を呼び出していますが、
もちろん"make()"を呼び出す前に空の配列は宣言されていますよね。。。
とりあえずIE6.0に更新してみます。
本当にありがとうございました。
IE6.0にUPDATEしたらうまくいきました。
と、いうかよく見たら手元の本に確かにArrayオブジェクトの
pop、push、shift、unshiftメソッドはIE5.0以前は対応していないと
書いてありました。(汗)
お世話になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- C言語・C++・C# 10人分の生徒の英語の点数{32,34,41,38,40,26,14,46,42,50} と数学の点 2 2022/05/26 21:31
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- JavaScript java keyを配列で表記したい 10 2022/12/01 17:53
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
フォーム入力値の重複チェック
-
Javascriptでの半角記号→全角記...
-
jQuery.eachは第2引数以上は作...
-
jspからjavascriptの変数引継ぎ
-
配列に格納した値が保存されない
-
("Scripting.Dictionary")につ...
-
二次元配列を使って順位をだす...
-
JavaScript で配列の終わりまで...
-
JSONデータを50音順でソートしたい
-
[JS] setAttributeで保存される...
-
C#テキストボックスの文字を配...
-
Ascition Script2
-
重複しないようにランダムで表...
-
javascript 変数名の連結をしたい
-
Boolean型配列中のTrueの有無を...
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
window.openでタイトル名の指定
-
functionから別のfunctionを実...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
React hooksが値を返して配列変...
-
undefinedを表示させない方法は...
-
javascriptで行を抽出したいです。
-
二次元配列の全要素の全要素を...
-
JavaScriptにおける[] とか :...
-
JavaScriptでの動的な多次元配...
-
順列生成アルゴリズムについて...
-
WSH(Jscript)でファイル一覧
-
JavaScriptからPHPに配列を渡す...
-
javascriptからphpに配列データ...
-
多次元配列から最大値を1行また...
-
textareaに入力されたデータを...
-
どうすればresponseText結果を...
-
フォーム入力値の重複チェック
-
オブジェクトから任意のプロパ...
おすすめ情報