質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1504閲覧

変数を動的に生成したい(IE11対応)

yanocchi

総合スコア18

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/03/25 23:49

先日ご質問させていただいた、以下について
https://teratail.com/questions/118802

IE11がArray.from未対応で使えないことが発覚し、
再度投稿させていただきました。

解決したい内容は、
IE11対応で、配列の数分だけ変数を動的に生成できるようにしたいです。
以下のイメージです。
(hoge1、hoge2しか記述していませんが、変数の数は多く連番で1~30ぐらいまで生成するイメージです)

javascript

1var array = [aaa, bbb]; 2for(var i= 0; i < array.length; i++){ 3 // var hoge1 = ""; 4 // var hoge2 = ""; 5// 上記のように配列の数分の、変数を作成 6}

お手数ですが、どなたかご教示いただけますと幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2018/03/25 23:57

前回の質問内で聞かれている「配列では目的を満たせない理由」について質問文に追記してください。
yanocchi

2018/03/26 00:03

前回お伝えした通り、変数の数が多いので(大体30ぐらい)、良い処理方法がないかご質問させていただいた次第です。前回同様質問文にも追記させていただいております、説明が下手で申し訳ございません。。。
defghi1977

2018/03/26 00:23

気が付いたんだけれど, あなたが本当に必要としているのは「変数群の生成」じゃなくて「変数群の初期化を一発で行う」やりかたなのでは?
defghi1977

2018/03/26 00:26

いや、そうでもないよな. 一旦はArray.fromで「問題が解決した」のだから.
guest

回答2

0

ベストアンサー

前回の質問で「このようなケースでこそ配列を使うんだ」という点になぜ気が付かないのか…
結局arrayと同じサイズの配列を作れば良いとのことでしたから, 何もArray.fromなんて必要なかったのですよ.

JavaScript

1var array = [aaa, bbb]; 2var hoge = new Array(array.length); 3hoge[0] = ""; 4hoge[1] = "";

で, よくよく考えてみると配列のサイズに意味がないので,

JavaScript

1var array = [aaa, bbb]; 2var hoge = []; 3hoge[0] = ""; 4hoge[1] = "";

で十分ですし, 配列である必要すらなさそう(変数の定義が面倒という怠惰な理由)なので,

JavaScript

1var array = [aaa, bbb]; 2var hoge = {}; 3hoge[0] = ""; 4hoge[1] = "";

と書いたところで, 要件は十分に満たせると思うのですよ.

投稿2018/03/26 00:07

編集2018/03/26 00:12
defghi1977

総合スコア4756

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Array.fromが使えないブラウザでは新しく定義する方法があるようです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/from?#Polyfill

投稿2018/03/26 00:08

編集2018/03/26 00:09
Kaninippa

総合スコア56

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問