![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
javascriptの配列について質問です。
例えば:
var arrXXX = new Array();
function samplefunc{
//3次元配列の種類の作成
for (m = 0; m < aaa.length ; m++) {
//連想配列作成
arrXXX .push(aaa[m]);
}
for (j = 0; j < bbb.length; j++) {
for (i = 0; i < ccc.length; i++) {
arrXXX[aaa[j]] = new Array(ccc.length);
arrXXX[aaa[j]][i] = new Array(ccc.length);
for (k = 0; k < ddd.length; k++) {
arrXXX[aaa[j]][i][k] = eee;
ここでは配列を適切に使える・・・
}
}
}
ここでarrXXXを使いたいが、3次元配列でなくなっている?!
arrXXX[~][0][0]はnullまたはオブジェクトではありません・・・がでます。
}
結局、for文を完全にでてしまうと、せっかくつくった配列がダメになってしまいます。どうすればfor文外で配列を使用できるのか教えてください!
No.3ベストアンサー
- 回答日時:
for (m = 0; m < aaa.length ; m++) {
//連想配列作成
arrXXX .push(aaa[m]);
}
最初のココですが、入れ込んでいる
aaa[m] のaaaという配列は、
aaa = ['あ','い','う'] という値だけを持つ1次元配列ですか?
aaaが1次元配列であれば、
arrXXX .push(aaa[m]);は
arrXXX[数字] = aaaの各要素名;
というただの1次元配列であって、
arrXXX[aaaの要素名]という連想配列にはなっていません。
下のfor文でarrXXX[aaa[j]]で連想のつもりでよびだして文字でnew Array()定義していますが、それで別で成り立つとして、最初のfor文とはある意味関連性が無いです。
aaaが1次元で、
arrXXXと言うのを連想配列にするなら
for (m = 0; m < aaa.length ; m++) {
//連想配列作成
arrXXX[aaa[m]] = new Array();
}
aaaが多重配列だった場合は、
arrXXX[aaa[j]] = new Array()
は成り立たないのでは?
No.2
- 回答日時:
>arrXXX[~][0][0]はnullまたはオブジェクトではありません・・・がでます。
そのまんまなんじゃ?
「~」がどういう指定の仕方になっているのかわからないけど
ここが正しくないだけだと思うよ。
なんなら使う直前で「~」をalert辺りで中身出してみたら判るんじゃないかな。
No.1
- 回答日時:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Q3667755 TestCase 1</title>
<script type="text/javascript">
// <![CDATA[
var arrXXX = new Array();
var aaa = new Array("a","b","c");
var bbb = new Array("d","e","f");
var ccc = new Array("g","h","i");
function samplefunc(){
//3次元配列の種類の作成
for (var m = 0; m < aaa.length ; m++) {
//連想配列作成
//俺は知らないけど,こういう作り方があるのね?
arrXXX.push(aaa[m]);
}
//気分の問題で変数iとjを入れ替えている。
//多分こうしたいのだろう。bbb.length →aaa.length
for (var i = 0; i < aaa.length; i++) {
//【毎回初期化されたくはない】ので,外に出してみた。
arrXXX[aaa[i]] = new Array(bbb.length);
for (var j = 0; j < bbb.length; j++) {
arrXXX[aaa[i]][j] = new Array(ccc.length);
for (var k = 0; k < ccc.length; k++) {
arrXXX[aaa[i]][j][k] = i * Math.pow(10,2) + j * Math.pow(10,1) + k * Math.pow(10,0);
}
}
}
alert(arrXXX["b"][2][0]) ; // 120
}
//]]>
</script>
</head>
<body>
<p onclick="samplefunc();">ほげ</p>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Visual Basic(VBA) ExcelVBAで質問です。離れた二次元配列を一つにしたい 4 2022/07/26 19:06
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
(google apps script)スプレ...
-
JavaScriptからPHPに配列を渡す...
-
バナーのランダム表示(複数、...
-
C#テキストボックスの文字を配...
-
二次元配列を使って順位をだす...
-
多次元配列から最大値を1行また...
-
[JS] setAttributeで保存される...
-
二次元配列の全要素の全要素を...
-
Perlの配列をJavaScriptに渡せ...
-
1から20までの整数から、重複な...
-
JSで配列同士の重複チェック
-
javascript 配列 変数名「arra...
-
配列のソートがしたい
-
JSONデータを50音順でソートしたい
-
2つの文字列を比較する方法
-
大分類・中分類・小分類のvalue...
-
乱数を配列へ格納(JavaScript)
-
google apps scriptの終了のさせ方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
二次元配列を使って順位をだす...
-
React hooksが値を返して配列変...
-
undefinedを表示させない方法は...
-
フォーム入力値の重複チェック
-
javascriptで行を抽出したいです。
-
JavaScriptでの動的な多次元配...
-
多次元配列から最大値を1行また...
-
HTMLで誕生石と星座をアラート...
-
JSONデータを50音順でソートしたい
-
重複しないようにランダムで表...
-
1から20までの整数から、重複な...
-
JavaScriptにおける[] とか :...
-
gas 配列
-
【JavaScript】オブジェクト型...
-
WSH(Jscript)でファイル一覧
-
JavaScriptで簡単なクイズを作...
おすすめ情報