[英]Indexing javascript array trouble
以下代碼從JSON對象獲取我的數據。 問題是我似乎無法將所需的內容分別存儲在數組中。 我希望我的數組具有以下結構:
數組= [0] ['開始'] ='日期1',[0] ['結束'] ='日期2',[0] ['名稱'] ='名稱N'
等等,等等。數組索引是第n個長度
因此,您可以想象此數組的多個條目,在這里可以通過它們的索引訪問它們。
var array = new Array();
var label;
data = JSON.parse(data);
$.each(data.rows, function(i, row) {
$.each(row.c, function(j, item) {
if(j == 0){
label = 'start';
}
if(j == 1){
label = 'end';
}
if(j == 2){
label = 'name';
}
if(j == 0 || j == 1 || j == 2){
array[i]["test"] = item.v;
//console.log('array['+i+']['+label+'] = '+ item.v);
}
//console.log(item.v);
});
});
反正有沒有用JavaScript實現這一目標? 謝謝
編輯:我原來的JSON
{"cols":[{"id":"","label":"start","pattern":"","type":"datetime"},{"id":"","label":"end","pattern":"","type":"datetime"},{"id":"","label":"content","pattern":"","type":"string"}],"rows":[{"c":[{"v":"Date(2014, 3, 25)","f":null},{"v":"Date(2014, 4, 2)","f":null},{"v":"Subgoal A","f":null}]},{"c":[{"v":"Date(2014, 4, 2)","f":null},{"v":"Date(2014, 4, 9)","f":null},{"v":"Subgoal B","f":null}]}],"p":null}
JavaScript中沒有多維數組之類的東西。 您正在尋找的是一組對象。 只需創建一個輸出數組,遍歷JSON並將新對象推送到該數組即可。
var out = [];
for (var i = 0, l = data.rows.length; i < l; i++) {
var row = data.rows[i].c;
out.push({
start: row[0].v,
end: row[1].v,
name: row[2].v
});
}
for (var i = 0, l = out.length; i < l; i++) {
console.log(out[i].start);
}
輸出值
Date(2014, 3, 25)
Date(2014, 4, 2)
您可以使用索引訪問對象,例如:
out[1] // { start="2014-12-13", end="2014-12-14", name="Mo2" }
您甚至可以設置一個函數以根據其鍵和值檢索任何對象:
function fetch(key, value) {
return out.filter(function (el) {
return el[key] === value;
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.