javascriptについてお聞きします。
エラーでCannot read property 'length' of undefined
と出ているのですが、console.logで出力した値は合っています。このようなエラーはよくあるのでしょうか?また、この場合どのようにすればエラーは消えるのでしょうか?分かる方解答お願いします。下記にそのスクリプトを示します。
function func2(csvData){
console.log(csvData);
return new Promise(function(resolve, reject){
var tempArray = (String(csvData)).split("\n");
var Arraylen = tempArray.length;
console.log(Arraylen); //←86と出力されています。
var csvArray = [],csvArray0 = [], csvArray1 = [], csvArray2 = [];
for(var i = 0; i<Arraylen;i++){
csvArray[i] = tempArray[i].split(",");
csvArray0[i] = csvArray[i][0];
csvArray1[i] = csvArray[i][1];
csvArray2[i] = csvArray[i][2];
}
resolve([csvArray0,csvArray1,csvArray2,Arraylen]);
});
}
No.1ベストアンサー
- 回答日時:
なんのためにpromiseを返しているか不明ですが
csvData次第ですが問題なく処理されますね
<script>
var csvData=`a,b,c
11,12,13
21,22,23`;
func2(csvData).then(function(data){console.log(data)});
function func2(csvData){
console.log(csvData);
return new Promise(function(resolve, reject){
var tempArray = csvData.split("\n");
var Arraylen = tempArray.length;
console.log(Arraylen);
var csvArray = [],csvArray0 = [], csvArray1 = [], csvArray2 = [];
for(var i = 0; i<Arraylen;i++){
csvArray[i] = tempArray[i].split(",");
csvArray0[i] = csvArray[i][0];
csvArray1[i] = csvArray[i][1];
csvArray2[i] = csvArray[i][2];
}
resolve([csvArray0,csvArray1,csvArray2,Arraylen]);
});
}
</script>
No.2
- 回答日時:
こんにちは
質問文の情報だけではわからないので、以下のほとんどが想像です。
>エラーでCannot read property 'length' of undefined
>と出ているのですが
ご提示のスクリプトでそのエラーが発生しているのではないと想像します。
ですので、情報のない回答者には回答できないでしょう。
>このようなエラーはよくあるのでしょうか?
エラーが発生するスクリプトを実行すれば、エラーが発生します。
エラーが発生しないスクリプトを実行すると、エラーは発生しません。
「よくあるか/ないか」は、実行する内容次第でしょう。
>どのようにすればエラーは消えるのでしょうか?
>分かる方解答お願いします。
ご提示のスクリプトもあまり意図がわかりませんが、そこでエラーが発生しているのではなさそうなので、「わかる方」はまずいないのではと思います。
func2の内容自体がcallback処理のように見受けられるので、その中でPromiseを用いていることの意図が不明です。
また、csvArrayとcsvArray0~2ってまったく同じ内容なのに、わざわざコピーしている理由も不明です。(後で、片方は別の内容に書き換えるのか??)
>エラーでCannot read property 'length' of undefined
>と出ているのですが
func2がどのように実行されているのか不明だし、具体的にどのような処理でエラーが発生しているのかも不明ですが、当たるも八卦で推測してみると・・・
1)変数のスコープ外で参照しようとしている
2)実際に値がセットされる前に参照しようとしている
といったケースあたりが、怪しそうな気がします。
1)の関連情報
https://developer.mozilla.org/ja/docs/Web/JavaSc …
2)の方は以前のご質問の回答No1を( 1)に関しては回答Np3も)
(…って、以前の回答を見たら、ほぼ同じ内容の回答だぁ)
https://oshiete.goo.ne.jp/qa/10912242.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript 定積分の近似値を計算する関数composite_newton_cotesをつくりたい 1 2023/01/18 14:09
- JavaScript 変数のスコープの問題? 3 2022/06/23 09:32
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javascriptエラーの原因が分か...
-
PhotoshopのJavaスクリプトで明...
-
マウスムーブでのマウスカーソ...
-
window.openがIEでエラーにされる
-
confirm()をはい/いいえ に切...
-
javascript:void(0)とは何でし...
-
ウェブページエラー。助けてく...
-
フォルダを自動で開く
-
JSPの処理の途中で、JavaScript...
-
PowerPointで時計表示
-
VBA ステータスバー DoEvents
-
JavaScriptを使用して、クライ...
-
gas 全角数字を半角数字に変換
-
if(1){...}とはどういうことで...
-
ローカル環境で動作しないJavaS...
-
助けてください!スパムメール...
-
C#の質問です。
-
C#でボタン名を変更しても動く
-
amazonの商品画像拡大のようなj...
-
エクセルVBA/ Formatで文字列が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascript:void(0)とは何でし...
-
confirm()をはい/いいえ に切...
-
クロスドメインでクッキーの取得
-
ロールオーバーを外部にすると...
-
関数を最終行までコピー
-
マウスムーブでのマウスカーソ...
-
エラーが出ている箇所を調べるたい
-
エディタ機能のTEXTAREAを作りたい
-
HTAで,親ウインドウを閉じ...
-
PDFフォームで条件つき金額を表...
-
javascript + php でエラー
-
ホームページビルダーでスクリ...
-
[再掲]指定したパスが現URLに含...
-
GoogleAppsScriptでスプレッド...
-
不思議なJavaScript
-
IE8開発者ツールでソースの修正
-
送信ボタンをbuttonに変えてonc...
-
JavaScriptエラー表示?
-
google maps apiについて
-
javascriptのエラー
おすすめ情報