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);