私は約束を使ってサーバからデータを取得しています。約束の成功で、私は、サーバーから来たdata
この構造多次元配列を持つループスルーオブジェクト
{"result":"answered","data":[["jake","508"],["amir","602"],["ben","450"]]}
を持っていると私は数字だけに508、602および450を取得したい。しかし、私は常に取得するので、私はこれを行う
promise.success(function (data, status) {
for (i = 0; i <= data.data.length; i++){
$scope.anArray[i] = data.data[i][1] ;
}
}
を行います同じエラーTypeError: Cannot read property '0' of undefined
この行への返信:$scope.anArray[i] = data.data[i][0] ;
。
これらの数値はライブラリに供給され、グラフが作成されます。チャートが作成されることもありますが、時にはそうではありません。作成されても、常に同じエラーが存在します。
このエラーを修正し、チャートを常に問題なく作成する方法はわかりません。コードdata.data[i][0]
のようなコードのように見えません。data.data[i]
のような単純な配列ではエラーが発生しません。
どうすればよいですか?
ありがとうございました
です。使用する 'angular.forEach()'は、もっときれいで、すでにlibコアにあります。 https://docs.angularjs.org/api/ng/function/angular.forEach – sbaaaang
@sbaaaang私は自分のコードを修正するための最小限の編集が必要なので、正しい答えとしてPaarthsの答えを選びました。しかし、あなたの提案もとても素敵です。私は「forEach」があるのを忘れていました。助けてくれてありがとう。 – slevin
もちろん、angular.forEach()はループクリーナー用であり、使いやすく、覚えておいて平易なjを使用することはできません;) – sbaaaang