簡體   English   中英

索引JavaScript數組的麻煩

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM