Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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_Arrays_Json_Iteration_Javascript Objects - Fatal编程技术网

如何从内到外迭代Javascript对象

如何从内到外迭代Javascript对象,javascript,arrays,json,iteration,javascript-objects,Javascript,Arrays,Json,Iteration,Javascript Objects,我有一个Javascript对象,我想在出来时从最里面的对象迭代它。如果一个内部对象是一个整数和Javascript对象的数组,我们首先检查Javascript对象,然后是整数 我该怎么办 提前谢谢大家 我想要这种迭代过程: 109[107]->109[1]->109[0]->[3]->[6]-> Javascript对象: [ 97, { '109': [ 98, 99, '107': [ 100, 101, 102 ]

我有一个Javascript对象,我想在出来时从最里面的对象迭代它。如果一个内部对象是一个整数和Javascript对象的数组,我们首先检查Javascript对象,然后是整数

我该怎么办

提前谢谢大家

我想要这种迭代过程:

109[107]->109[1]->109[0]->[3]->[6]->

Javascript对象:

[
    97,
    {
      '109': [ 
        98,  99, 
        '107': [ 100, 101, 102 ]
      ]
    },
    110,
    {'386': [103, 105, 106 ]},
    387,
    388,
    { '671': 104 },
    672
  ]
编辑

我指的是Javascript对象,不是JSON数组。

不可能。此数据结构中没有自下而上的引用;这意味着项不存储父引用以使您能够向后迭代,例如,只有一个引用可访问[100101102],它是数组[1]['109'][2];因此,唯一的办法是从上到下

您应该创建自己的数据结构来支持这一点,例如,使用和数组的组合

假设你有一组盒子和一个礼品盒,每个盒子可能包含也可能不包含较小的盒子,了解盒子是否包含较小的盒子的唯一方法是打开父盒子,看看里面有什么。同样,对于父母盒子里的小盒子,你必须打开它直到你拿到礼物

现在想象一下,你有10个受挫礼品盒,直到你把它们全部打开,你才知道里面装的是什么;你打开了每个盒子,所有的盒子都暴露出来了,你知道每个盒子里有多少小盒子,礼物在哪里。 这里是有趣的部分,现在你在问,我怎样才能先拿到礼物,而不先打开所有的盒子。你不能,因为它不打算从最里面的盒子到达;你必须用艰难的方式去做,直到你找到礼物。


顺便说一句,递归方法似乎很适合您的需要,您必须首先公开所有内容,然后存储父引用,然后向后迭代。顺便说一句,听起来效率不高。我建议尝试另一种方法,而不是从下到上迭代

这是无效的JSON,不是吗?不能在数组中使用属性语法。该数组不是JSON数组,也不是JSON对象,因为JSON是一种文本格式。这里有一个包含数组和对象的数组。尝试在不包含JSON的情况下进行搜索,您可能会找到更多匹配项。您需要更好地解释如何从示例输入到所需输出以及一些所需输出。此“109”:[98,99,'107':[100,101,102]]仍然无效语法为什么您的数据采用这种格式?将数字和对象以及带有数组的对象混合在一起似乎很奇怪。在继续之前,我会将您的数据标准化。仅供参考:如果图像不是您拍摄的,通常需要对其进行归属。这是一个友好的警告,因为一些mod删除了这样的帖子。请添加图片作者的版权声明,或将其从您的帖子中删除。