在jquery,d3.js中的document.ready(function)中的迭代

时间:2016-10-19 20:33:07

标签: javascript jquery d3.js

我的数据如下:

var IDData = JSON.stringify([["node/105173", "node/38180995", "Agent", "Customer", "1379644.0", 1, 264.0, "1374903"]...]

每行数据都遵循相同的格式。但是数组数组的行长度并不固定。我正在尝试使用d3.js。

使用此数据绘制图表
$( document ).ready(function() {

    console.log(IDData);
    var galData = JSON.parse(IDData);
    need a way here to iterate through the data so that
    var startnodes = galData[0][0],galData[1][0]....galdata[n][0]
    where n is the length of the array
    var endnodes = galData[0][1],galData[1][1],galData[2][1]...galData[n][1]


    var nodetype = galData[0][2],galData[1][2],galData[2][2]....galData[n][2]

    var Paytime = galData[0][3],galData[1][3]..galdata[n][3]
    var TXN_COUNT = galdata[0][4],galData[1][4],galData[2][4]...galData[n][4]
    var Total_Amt = galData[0][5],galData[1][5],galData[2][5]...galData[n][5]

    var SendTime = galData[0][6],galData[1][6]...galData[n][6]

    makegraph(startnodes,endnodes)

var nodetype是一个节点属性,var PaytimeTXN_COUNTTotal_AmtSendTime是链接属性。

对d3.js一点都不熟悉,也没有找到一种简单的迭代方法。

1 个答案:

答案 0 :(得分:0)

var IDData = JSON.stringify([["node/105173", "node/38180995", "Agent", "Customer", "1379644.0", 1, 264.0, "1374903"],["node/105173", "node/38180995", "Agent", "Customer", "1379644.0", 1, 264.0, "1374903"],["node/105173", "node/38180995", "Agent", "Customer", "1379644.0", 1, 264.0, "1374903"]]);
var galData = JSON.parse(IDData);

var startnodes = [],
    endnodes = [],
    nodetype = [];

// If array
galData.map(function(e,i){
    startnodes.push(e[0]);
    endnodes.push(e[1]);
    nodetype.push(e[2]);
});


console.log(startnodes);
console.log(endnodes);
console.log(nodetype);

// If string
startnodes = startnodes.join(',');
endnodes = endnodes.join(',');
nodetype = nodetype.join(',');

console.log(startnodes);
console.log(endnodes);
console.log(nodetype);

除了你应该得到的照片之外,它不会涵盖所有。