- ベストアンサー
配列への大量コピーってあるの?
今,単純に「,」で区切られたデータが大量に続くテキストファイルがあっとします。(もちろん有限ですが) 1,2,3,4,5,6,7,8,9,10,11,12・・・,9999兆 このテキストデータを,javascriptで読み込んでresponseTextに入れたものを, var res = oj.responseText; のようにresにします。 この後, rows = res.split(','); のように,それぞれの数字を配列に入れたとします。 このとき,この配列にデータを入れるという作業は,実際に,rows配列にデータがコピーされるのでしょうか。 それとも,何らかのポインタだけがrowsオブジェクトがに入って,rows[n]とかしたときに,rowsのメソッドが,を判断してn番目の数字を取得するようになっているのでしょうか。 また,それを確かめる方法(証拠)はありますでしょうか。 また,似たような質問ですが, 1,2,3,4,5,6,7,8,9,10,11,12・・・,9999 というデータから res.split(',')[n] のようにsplitメソッドでn番目を取り出す処理と, すでに配列になっているものからn番目を取り出す処理 rows[n] とでは,どちらの作業が軽い(高速)でしょうか? 感覚的には後者ですが,実際の処理はどうなのかなと
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (7)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
回答No.8
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
回答No.6
- venzou
- ベストアンサー率71% (311/435)
回答No.5
- venzou
- ベストアンサー率71% (311/435)
回答No.4
- venzou
- ベストアンサー率71% (311/435)
回答No.3
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
回答No.2
- VCAT
- ベストアンサー率20% (16/79)
回答No.1
お礼
ありがとうございます。なるほどevalの処理が意外にかかるのですね。 >、<script src="">でいいのでは? それはサーバー側にコールバック関数を書かせるいわゆるpaddingという方法ですか
補足
あ、間違えました。単に最初の読み込み時に取得すればってことですね。実はあるページの中のボタンを押すとこれまで説明した処理が始まるという仕組みなのです。この処理はページ閲覧者の1割くらいしか関係ないので無意味に最初から大量のデータは読み込ませたくないなと。