私はC#に非常に精通していますが、私のチケットのJavaScript部分には非常に基本的なコンセプトがあります。このコードは次のとおりです。組み込み配列の参照変数でカウント変数を使用できない
addPaymentsToBreakdown = function() {
for (var count = 0; count < checkedPayments.length; count++) {
(function (count) {
console.log(checkedPayments[0][count].value);
})(count);
}
}
私が書いたより大きな機能のほんの一部です。配列 'checkedPayments'は他の場所で使用されており、適切にインスタンス化されています。
私が理解していないという考え方は、配列変数のcount番目のインデックスの2番目の層を繰り返し処理するために関数内のcount変数を使用することができない理由です。私が手作業で数字を入力すると、インデックスのどれかを調べることができました。私も配列のすべての要素をconsole.log()することができますが、何らかの理由でそのカウント変数を組み込み配列のインデックスと組み合わせることは物事を乱してしまいます。 の後に表示されるエラーはUncaught TypeError: Cannot read property 'value' of undefined.
です。問題が解決しない理由と簡単な説明をしてください。ありがとう
'checkedPayments [0]'は 'checkedPayments.length'と同じ長さの配列ですか? – ray
'var'の代わりに' let'を使うことができます。しかし、 'var'を使うと、内部関数の引数として' count'を使わないでください。(function(i){return console.log(checkedPayments [0] [i] .value);})(count) – Redu
あなたのコードは[this fiddle](https://jsfiddle.net/hvqcLoff/1/)で修正されていませんが、checkedPaymentsの構造は私を奇妙に思います。 – ray