【发布时间】:2014-11-17 06:44:37
【问题描述】:
我有一组数据。您将如何使用 JavaScript 中的 for 循环遍历这些数据?
var model = ({
"DettolRadiance":
{
"Values": [{ "GRPsValue": 66, "MonthOfSale": "Jan" },
{ "GRPsValue": 100, "MonthOfSale": "Feb" },
{ "GRPsValue": 250, "MonthOfSale": "March" },
{ "GRPsValue": 100, "MonthOfSale": "April" }],
"Key": "DettolRadiance"
},
"DettolSkinCare":
{
"Values": [{ "GRPsValue": 487, "MonthOfSale": "Jan" },
{ "GRPsValue": 450, "MonthOfSale": "Feb" },
{ "GRPsValue": 300, "MonthOfSale": "March" },
{ "GRPsValue": 400, "MonthOfSale": "April" }],
"Key": "DettolSkinCare"
},
"DettolToiletSoaps":
{
"Values": [{ "GRPsValue": 64, "MonthOfSale": "Feb" },
{ "GRPsValue": 0, "MonthOfSale": "Jan" },
{ "GRPsValue": 70, "MonthOfSale": "March" },
{ "GRPsValue": 150, "MonthOfSale": "April" }],
"Key": "DettolToiletSoaps"
}
});
这是我尝试过的代码。
var DataSet = [];
for (var i = 0; i < model[0].DettolRadiance.Values.length; i++) {
DataSet.push({ 'x': model[0].DettolRadiance.Values[i].MonthOfSale, 'y': model[0].DettolRadiance.Values[i].GRPsValue });
}
for (var i = 0; i < model[0].DettolSkinCare.Values.length; i++) {
DataSet.push({ 'x': model[0].DettolSkinCare.Values[i].MonthOfSale, 'y': model[0].DettolSkinCare.Values[i].GRPsValue });
}
for (var i = 0; i < model[0].DettolToiletSoaps.Values.length; i++) {
DataSet.push({ 'x': model[0].DettolToiletSoaps.Values[i].MonthOfSale, 'y': model[0].DettolToiletSoaps.Values[i].GRPsValue });
}
但我只能检索值。我想根据 3 个键检索值。这些是 DettolRadiance、DettolSkinCare、DettolToiletSoaps。所以每个键应该有 4 个各自的值。我想我需要添加另一个 for 循环。但是我没有得到确切的语法。任何人都可以帮忙..
【问题讨论】:
-
model是一个对象字面量——不是一个数组。我编辑了标题以反映这一点。 -
你也不想将它传递给 $(通常是 jQuery)。
-
感谢@papirtiger 让事情变得非常清楚。
-
为什么 model[0].DettolSkinCare 而不是 model.DettolSkinCare 根据您的对象模型不是数组
-
阅读关于 JavaScript 对象、数组和循环的真正基础教程。
标签: javascript loops for-loop