gpt4 book ai didi

javascript - jQuery-JS 使用循环从多维数组追加

转载 作者:行者123 更新时间:2023-11-28 00:15:39 25 4
gpt4 key购买 nike

显然我无法理解JS在解析多维数组中的数据时的逻辑是如何工作的。

假设我们有一个 3D 数组,如下所示:

 var data = new Array(("1","2",("7","8","9")),("3","4",("10","11","12")),("5","6",("13","14","15")));

我有一个简单的 HTML 结构,就像一个带有 id=parentdiv 的 div

我想将它附加到 DOM 中,以便看起来每个维度都在不同的 div 中,但仍然是前一个维度的 div 的子元素,最终结果如下:子级1:(12孙子div1.1:7孙子div1.2:8孙子div1.3:9)子级2:(34孙子div2.1:10孙子div2.2:11孙子div2.3:12)子级3:(56孙子div3.1:13孙子div3.2:14孙子div3.3:15)最终打印一个简单的 1 2 7 8 9 3 4 10 11 12 5 6 13 14 15

设置一个 fiddle 来检查循环如何工作.. http://jsfiddle.net/M_Elf/68zfgdaq/1/使用 $each 而不是 for 当然不会改变任何东西我注意到的是,每个循环的行为都独立于其父循环...从未见过解析来自超过 2 个维度的数据的示例,并且循环内的循环似乎不像我预测的那样工作...有什么建议吗?

<小时/>

用递归的思维方式解决

最佳答案

我认为您没有正确使用 Array() 构造函数。使用该构造函数而不仅仅是 var arr = [1, 2, 3];

有点不合常规

问题是 Array() 构造函数期望每个参数都是单个值或对象;相反,您尝试为其提供多维数组,但您没有正确构建这些内部数组!它可能看起来像这样:

var data = new Array(new Array(1, 2, 3), new Array(4, 5, 6), new Array(7, 8, 9));

一种更简单、更直观的方法是像这样声明数组:

var data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

它可以更容易地了解数组如何嵌套以及多维结构是什么。

关于javascript - jQuery-JS 使用循环从多维数组追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30476972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com