Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中识别包含的对象?_Javascript_Json - Fatal编程技术网

如何在javascript中识别包含的对象?

如何在javascript中识别包含的对象?,javascript,json,Javascript,Json,我有JSON数据,我想知道是否有办法确定嵌套对象的父对象。例如,以该结构为例: Vehicles[] ForSaleCars[] Car{} Make Model Year SoldCars[] Car{} Make Model Year 假设这是在var json=并已填充了一些数据。很容易访问ForSaleCars阵列中的第二辆车,如下所示: var secondCar = json.Vehicles.ForSaleCars[1]; 此时,

我有JSON数据,我想知道是否有办法确定嵌套对象的父对象。例如,以该结构为例:

Vehicles[]
 ForSaleCars[]
  Car{}
   Make
   Model
   Year
 SoldCars[]
  Car{}
   Make
   Model
   Year
假设这是在
var json=并已填充了一些数据。很容易访问ForSaleCars阵列中的第二辆车,如下所示:

var secondCar = json.Vehicles.ForSaleCars[1];
此时,仅来自
secondCar
变量,是否可以区分它来自
ForSaleCars
而不是
SoldCars

我问这个问题的原因是我正在递归地遍历一个json对象图,如果不进行跟踪就可以看到该对象的父对象

在这一点上,仅从secondCar变量,是否可以判断它来自ForSaleCars而不是SoldCars


否。JavaScript不会自动跟踪引用的复制位置。

这是不可能的。您可以改为维护哈希。

不,您是从父级复制的,JavaScript不会跟踪父级引用过去是什么。如果您希望能够跟踪它,则需要添加一个引用:

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