2

JSON データがあり、ネストされたオブジェクトの親オブジェクトを特定する方法があるかどうか疑問に思っていました。たとえば、次の構造を取ります。

Vehicles[]
 ForSaleCars[]
  Car{}
   Make
   Model
   Year
 SoldCars[]
  Car{}
   Make
   Model
   Year

var json = ;これが入っていて、いくつかのデータで満たされていると仮定します。次のように、ForSaleCars 配列の 2 番目の車に簡単にアクセスできます。

var secondCar = json.Vehicles.ForSaleCars[1];

この時点で、変数だけから、それが から来たものではないことを知ることは可能ですか?secondCarForSaleCarsSoldCars

私が尋ねる理由は、json オブジェクト グラフを再帰的にトラバースしており、追跡せずにオブジェクトがどの親を持っているかを確認できると便利だからです。

4

3 に答える 3

5

この時点で、secondCar 変数だけから、それが SoldCars ではなく ForSaleCars からのものであると判断できますか?

いいえ。JavaScript は、参照がどこからコピーされたかを自動的に追跡しません。

于 2012-10-28T20:46:08.657 に答える
1

それは不可能。代わりにハッシュを維持できます。

于 2012-10-28T20:46:44.897 に答える
1

いいえ、親からコピーしているので、JavaScript は親の参照が何だったかを追跡しません。追跡できるようにしたい場合は、参照を追加する必要があります。

var secondCar = json.Vehicles.ForSaleCars[1];
secondCar.parent = json.Vehicles;
于 2012-10-28T20:47:34.133 に答える