我从API获取了一个json对象;我得到了(在另一个集合中 - 但这并不重要)像这样的一组密钥:
{ "Id": "64a66e2c-38fa-41dd-9183-8b1bd18a3c87",
"fields": [
{ "Name": "x1" },
{ "Name": "x2" },
{ "Name": "x3" }
],
"weeks": [ "2015-25", "2015-26", "2015-27" ],
"series": {
"M1": [ 6376, 17877, 22592 ],
"M2": [ 700, 702, 702 ],
"M3": [ null, 1, 1 ],
"M4": [ null, 5889, 10275 ]
}
}
系列本身(如M1)有值(1 - 1等),我可以阅读和使用, 但我实际上需要系列的名称(比如" M1")。
所以我迭代收集系列和该系列中的每个值没有任何困难,但我如何得到系列本身的名称 - 该名称(不是在这个例子中)非常具有描述性和实用性
$.each(data.series, function (rowIndex, row) {
var attempt = data.series[rowIndex]; // nope this is [1,1,1,2] or something
for (var i = 0; i < row.length; i++) {
var value = row[i]; // yep this is one of the values
};
});
我如何得到&#34; serie1&#34;进入var attempt
?
答案 0 :(得分:1)
在将javascript对象传递给$ .each()迭代器时,您已经将密钥作为第一个参数。
$.each(data.series, function (rowIndex, row) {
window.alert(rowIndex);
});
答案 1 :(得分:1)
我认为每个人都想说的是jquery.each回调的更具描述性的签名是:
$.each(data.series, function (key, val) {
var attempt = data.series[key]; // nope this is [1,1,1,2] or something
for (var i = 0; i < val.length; i++) {
var value = val[i]; // yep this is one of the values
};
});
所以要得到你想要的东西,简单的改变为:
$.each(data.series, function (key, val) {
var attempt = key;
for (var i = 0; i < val.length; i++) {
var value = val[i];
};
});