【发布时间】:2017-06-16 21:49:13
【问题描述】:
我有以下对象:
var dataset = [
[
{"value":"PRE","formattedValue":"PRE"},
{"value":"2017-06-15 00:00:00","formattedValue":"15/06/2017 0:00:00"},
{"value":"COSTA RICA","formattedValue":"COSTA RICA"},
{"value":"6.15","formattedValue":"6,150"}
],
[
{"value":"PRE","formattedValue":"PRE"},
{"value":"2017-06-15 00:00:00","formattedValue":"15/06/2017 0:00:00"},
{"value":"EL SALVADOR","formattedValue":"EL SALVADOR"}
]
]
它太复杂了,而且有我实际上不需要的数据,所以我试着把它变成这样:
[
{
"estado": "PRE",
"fecha": "2017-06-15 00:00:00",
"pais": "COSTA RICA",
"precio": "6.15",
}
]
我终于做到了,但我不确定我的代码为什么有效。 我用这段代码完成了:
var datafinal = [];
function convertion(){
var dataobj = dataset.getData();
for(var x in dataobj){
datafinal[x] = { "estado": dataobj[x][0]["value"] };
datafinal[x]["fecha"] = dataobj[x][1]["value"];
datafinal[x]["pais"] = dataobj[x][2]["value"];
datafinal[x]["precio"] = dataobj[x][3]["value"];
}
}
如果你注意的话,你会看到我添加到新对象的第一个值是使用不同的格式来添加的。
我发现,如果我使用第二种格式添加每个值,它不会添加任何内容。 但是如果我以第一种格式添加所有内容,它只会添加最后一个值;
所以,我用第一种格式制作了 vale,其余的用第二种格式制作,效果很好。
...为什么,有人可以向我解释为什么会发生这种情况吗?
【问题讨论】:
-
只显示dataobj有什么用?
-
你显示了
dataset,但没有显示dataset.getData()返回的内容。 -
dataobj 显示与第一个数据集对象相同的信息。
标签: javascript object javascript-objects