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

For loop array issues with javascript and jquery

本文关键字:循环 数组 问题 jquery javascript 对于      更新时间:2023-09-26
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']
    }});

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

这是非常基本的代码,因此您应该研究一些基本的在线工具来增强您的理解。 Codecademy教授基本的JavaScript,将是一个很好的跳板。 我将尝试用基础知识覆盖每个代码块。

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

这是一个 for 循环。它将遍历数组的每个元素id_ion['ions'],以便您可以逐个评估它们。每次 for 循环经历一次迭代时,x 递增。因此,我们第一次查看第一个元素id_ion['ions'][0],接下来我们查看id_ion['ions'][1],依此类推。

    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']
    }});

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

 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 函数。