对于javascript和jquery的循环数组问题

时间:2016-03-15 15:04:32

标签: javascript

var link = [];

for(var x = 0; x < id_ion['ions'].length; x++) {
    var source,
    target;

    if(id_ion['ions'][x]['ID1'] == data.main[0].ID1) {
        source = id_ion['ions'][x]['ID1'];
        target = id_ion['ions'][x]['ID2'];
    } else {
        source = id_ion['ions'][x]['ID2'];
        target = id_ion['ions'][x]['ID1'];
    }
    var_edges.push({data:{
            source: source,      
            target: target,
            exp: id_ion['ions'][x]['exp'],
            pub: id_ion['ions'][x]['pub'],
            name: id_ion['ions'][x]['name'],
            age: id_ion['ions'][x]['age']
    }});

您好,我是初学者,我正在努力理解编码。我到处寻找,我完全无法理解这段代码。

2 个答案:

答案 0 :(得分:3)

这是非常基本的代码,所以你应该研究一些基本的在线工具来增强你的理解力。 codecademy教授基本的javascript,并且是一个很好的弹簧板。我将尝试用基础知识覆盖每一段代码。

for(var x = 0; x < id_ion['ions'].length; x++) {

这是for循环。它将迭代遍历数组id_ion [&#39; ions&#39;]的每个元素,以便您可以逐个评估它们。每次for循环经历一次迭代时,x递增。所以我们第一次看id_ion [&#39;离子&#39;] [0]这是第一个元素,接下来我们看看id_ion [&#39;离子&#39;] [1]等等。 / p>

    if(id_ion['ions'][x]['ID1'] == data.main[0].ID1) {
        source = id_ion['ions'][x]['ID1'];
        target = id_ion['ions'][x]['ID2'];
    } else {
        source = id_ion['ions'][x]['ID2'];
        target = id_ion['ions'][x]['ID1'];
    }

这是一个if / else块。在这个条件中,我们看到for循环当前正在评估的元素是否等于data.main [0] .ID1。如果是,我们设置源和目标的一种方式,如果没有,我们运行else并以另一种方式设置它们。

    var_edges.push({data:{
            source: source,      
            target: target,
            exp: id_ion['ions'][x]['exp'],
            pub: id_ion['ions'][x]['pub'],
            name: id_ion['ions'][x]['name'],
            age: id_ion['ions'][x]['age']
    }});

这会创建一个名为&#39; data&#39;您填充了为循环的每次迭代收集的数据,并将其推送到另一个名为var_edges的数组中。做一些研究并询问一些可以帮助你学习的好书/教程。您将立即开始理解javascript。

答案 1 :(得分:0)

 for(var x = 0; x < id_ion['ions'].length; x++) {}

用于处理表格的所有元素。

var source, target;
if(id_ion['ions'][x]['ID1'] == data.main[0].ID1) {
   source = id_ion['ions'][x]['ID1'];
   target = id_ion['ions'][x]['ID2'];
} else {
   source = id_ion['ions'][x]['ID2'];
   target = id_ion['ions'][x]['ID1'];
}

用于将表元素放入带有if语句的变量中。

var_edges.push({data:{
   source: source,      
   target: target,
   exp: id_ion['ions'][x]['exp'],
   pub: id_ion['ions'][x]['pub'],
   name: id_ion['ions'][x]['name'],
   age: id_ion['ions'][x]['age']
}});
由于push function

用于创建其他数组