Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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/4/kotlin/3.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 - Fatal编程技术网

Javascript 将二维数组转换为对象数组

Javascript 将二维数组转换为对象数组,javascript,arrays,Javascript,Arrays,我有一个二维数组,datas,我想把它转换成一个对象数组 键在数据[0]中,我想提取它们,名称,子项和大小。然后将每个属性附加到它以获得主对象。出于某种原因,当我尝试此操作时,它会覆盖并仅显示一个对象 var test = new Object(); for (i = 0; i < datas.length; i++){ var obj = new Object(); obj.name = datas[i][0]; obj.parent = datas[i][1];

我有一个二维数组,
datas
,我想把它转换成一个对象数组

键在
数据[0]
中,我想提取它们,
名称
子项
大小
。然后将每个属性附加到它以获得主对象。出于某种原因,当我尝试此操作时,它会覆盖并仅显示一个对象

var test = new Object();
for (i = 0; i < datas.length; i++){
    var obj = new Object();
    obj.name = datas[i][0];
    obj.parent = datas[i][1];
    obj.size = datas[i][2];
    test.update(obj);
}
datas
数组如下所示:

 [["Name", "Parent", "Size"], ["Billy", "Ann", "1"], ["Ben", "John", "1"] ... ]

您无法创建没有属性的对象,因此无法实现所需的结果

假设您想要:

[
    {"name": "Billy", "parent": "Ann", "size": "1"},
    {"name": "Ben", "parent": "John", "size": "1"},
     etc...
]
尝试:

var测试=[];
对于(i=0;i
不是正确的json。花括号的意思是-object,object必须以key:value的形式表示。这种类型的json有两种可能是正确的:

对象数组

[
  {"name": "Billy", "parent":"Ann", "size"="1"},
  {"name": "Ben", "parent": "John", "size" = "1"}
]
深部结构

{
  "Billy" {"parent":"Ann", "size"="1"},
  "Ben" {"parent": "John", "size" = "1"}
}
生成第一个变量

    var res = []
    for(i = 0; i<datas.length; i++){
      var obj = new Object();
      obj.name = datas[i][0];
      obj.parent = datas[i][1];
      obj.size = datas[i][2];
      res.push(obj);
    } 
    JSON.stringify(res);
var res=[]

对于(i=0;iDid),您只需尝试
JSON.stringify(数据)
?@adeneo返回一个没有键/对的大字符串,我想每个数组都是一个自己的对象。更新也不是一个函数。在循环中创建新对象后,我应该如何合并它?你能给出一个源和最终结果的示例吗?你想要的输出是什么?
[
  {"name": "Billy", "parent":"Ann", "size"="1"},
  {"name": "Ben", "parent": "John", "size" = "1"}
]
{
  "Billy" {"parent":"Ann", "size"="1"},
  "Ben" {"parent": "John", "size" = "1"}
}
    var res = []
    for(i = 0; i<datas.length; i++){
      var obj = new Object();
      obj.name = datas[i][0];
      obj.parent = datas[i][1];
      obj.size = datas[i][2];
      res.push(obj);
    } 
    JSON.stringify(res);
    var res = new Object();
    for(i = 0; i<datas.length; i++){
      var obj = new Object();
      obj.parent = datas[i][1];
      obj.size = datas[i][2];
      res.[datas[i][0]] = obj;
    } 
    JSON.stringify(res);