Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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_Jquery_Arrays_Multidimensional Array_Dynamic Arrays - Fatal编程技术网

在JavaScript中将数据构建到多维数组中

在JavaScript中将数据构建到多维数组中,javascript,jquery,arrays,multidimensional-array,dynamic-arrays,Javascript,Jquery,Arrays,Multidimensional Array,Dynamic Arrays,我正在尝试从现有的JSON文件重建数据结构。 为了举例,我删除了所有不必要的代码: var entries = [ { "band": "Weezer", "song": "El Scorcho" }, { "band": "Chevelle", "song": "Family System" } ] var rows = {}; for (var i = 0; i < entries.length; ++i) { var en

我正在尝试从现有的JSON文件重建数据结构。 为了举例,我删除了所有不必要的代码:

var entries = [
  {
    "band": "Weezer",
    "song": "El Scorcho"
  },
  {
    "band": "Chevelle",
    "song": "Family System"
  }
]

var rows = {};

for (var i = 0; i < entries.length; ++i) {

    var entry = entries[i];

    var t = "a";
    for (var key in entry) {
            rows[t] = t;
            t = t+"1";
    }    
    $("#agenda").append(JSON.stringify(rows));

}
$("#agenda").append("<br /><br /> In the end, it only shows the last one:<br />");
$("#agenda").append(JSON.stringify(rows));
var条目=[
{
“乐队”:“威瑟”,
“歌”:“埃尔·斯科乔”
},
{
“乐队”:“切维尔”,
“歌”:“家庭制度”
}
]
var行={};
对于(变量i=0;i
最后只显示最后一个:
); $(“#议程”).append(JSON.stringify(rows));
还有一把小提琴能更好地显示它: 本例的目的是通过调用键和值作为变量,尝试将“entries”中的数据重建为完全相同的数据。
由于某些原因,我最终陷入了混乱,最后当我尝试在循环后读取数组时,它只显示最后一个子数组。

这里有一个包含2个条目的一维数组,而不是多维数组

外部循环在数组中的两个对象上进行迭代,内部循环在每个对象中遍历所有键值对,但它只设置
行[“a”]
行[“a1”]
,因为数组中的每个对象只有两个属性

我不完全确定要对数组中的数据执行什么操作,如果要完全复制数据,可以执行以下操作:

var rows = [];

for (var i = 0; i < entries.length; ++i) {

    var entry = entries[i];

    var newObj = {};
    for (var key in entry) {
      newObj[key] = entry;
    }
    rows.push(newObj);
}
var行=[];
对于(变量i=0;i
它正在按预期工作。因为有两个条目,所以在循环中要追加两行:

for (var i = 0; i < entries.length; ++i) {

    var entry = entries[i];

    var t = "a";
    for (var key in entry) {
            rows[t] = t;
            t = t+"1";
    }    
    $("#agenda").append(JSON.stringify(rows));

}
for(变量i=0;i

实际上,您所做的是重复地替换
行['a']
行['a1']
(而不是增加它),并添加两次,以便看到第一个结果。

行[t]的意义是什么?你是想制作一个类似于“t”、“t1”、“t11”、“t111”的键吗?“条目”中的
数据完全相同
你的意思是想将json中的内容输出到
#议程中
?你能告诉我你最终在#agende中期望得到什么样的确切结果吗?@Matt Wolfe这只是一个例子。@JFK是的,但正如我所说的,这只是为了显示结果。重点是过程。我不完全确定它是如何发生的,但使用您的建议并删除
[key]
正是我想要的结果。这是一把小提琴,它显示了这一点: