javascriptの評価ベースのTo-doアプリの基本プロトタイプを作成しています。私はタスク名とその評価を保存するために使用しているオブジェクトがあります。例:オブジェクトの配列(JavaScript)の最後のオブジェクトの属性を読み取ることができません
taskDetails = [
{name: "C", rating: 69.3425},
{name: "A", rating: 60.93875},
{name: "D", rating: 57.32,
{name: "B", rating: 59.795}
]
そしてすべてのドスが同じ評価を持っているか、いない場合は機能checkAllEqual()
var checkAllEqual = function(){
var flag = true;
var temp = [];
for(var i = 0; taskDetails.length; i++){
if(taskDetails[i].rating){ //Line no. 58 of the code
var rating = taskDetails[i].rating;
temp.push(parseInt(rating.toFixed(2)));
}
}
console.log(temp);
return flag;
}
この機能のチェックがあります。 3回反復するまでうまく動作しますが、最後の1つでは、括弧が正しい値を保持していても、 'rating'が内部であっても 'rating'が定義されていないというエラーがスローされます。 (デバッガでチェック)
私は理由を見つけることができませんでした。助けてください。
エラー:
app.js:58 Uncaught TypeError: Cannot read property 'rating' of undefined
at checkAllEqual (app.js:58)
at <anonymous>:1:1
にあなたはその構文は非常に有用である –
、このようなタイプミスを防ぐために、 '(taskDetailsのconstのtaskDetail)のための'ループを使用することができます...ありがとう! –