1. ホーム
  2. javascript

[解決済み] オブジェクトの名前にドットが含まれている場合、その値を取得するには?

2022-06-03 10:23:05

質問

私は非常に単純な配列を持っています (オブジェクトに注目してください。 "points.bean.pointsBase" をキーとするオブジェクトに注目してください)。

var mydata =   
{"list":  
  [  
    {"points.bean.pointsBase":  
      [  
        {"time": 2000, "caption":"caption text", duration: 5000},  
        {"time": 6000, "caption":"caption text", duration: 3000}  
      ]  
    }  
  ]  
};  
 
// Usually we make smth like this to get the value: 
var smth = mydata.list[0].points.bean.pointsBase[0].time; 
alert(smth); // should display 2000

しかし、残念ながら何も表示されません。私が "points.bean.pointsBase" を名前にドットのないものに変えると - すべてが動作します。

しかし、私はこの名前をドットのない他のものに変更することはできませんが、私は値を取得する必要がありますか?それを取得するためのオプションはありますか?

どのように解決するのですか?

あなたが欲しいのは

var smth = mydata.list[0]["points.bean.pointsBase"][0].time;

JavaScriptでは、.演算子を使ってアクセスできるフィールドはすべて、[]にフィールド名を文字列にしてアクセスすることができます。