Javascript 使用foreach在JSON上迭代的jQuery

Javascript 使用foreach在JSON上迭代的jQuery,javascript,jquery,Javascript,Jquery,我有以下代码 currencies_group_0 = [ {"code":"cad", "big_code":"CAD", "name":"Canadian Dollars", "symbol":"$", "rate" : 0.97}, {"code":"eur", "big_code":"EUR", "name":"Euros", "symbol":"€", "rate" : 0.7102}, {"code":"gbp", "big_code":"GBP", "nam

我有以下代码

currencies_group_0 = [
    {"code":"cad", "big_code":"CAD", "name":"Canadian Dollars", "symbol":"$", "rate" : 0.97},
    {"code":"eur", "big_code":"EUR", "name":"Euros", "symbol":"€", "rate" : 0.7102},
    {"code":"gbp", "big_code":"GBP", "name":"British Pounds Sterling", "symbol":"£", "rate" : 0.5196},
    {"code":"hkd", "big_code":"HKD", "name":"Hong Kong Dollars", "symbol":"$", "rate" : 5.9853},
    {"code":"jpy", "big_code":"JPY", "name":"Japanese Yen", "symbol":"¥", "rate" : 92},
    {"code":"nzd", "big_code":"NZD", "name":"New Zealand Dollars", "symbol":"$", "rate" : 1.0237},
    {"code":"usd", "big_code":"USD", "name":"United States Dollars", "symbol":"$", "rate" : 0.7719}
];

currencies_group_0.forEach(function(element) {
    lis_0 += '' +
    '<li class="ui-selectmenu-item-label" rate="' + element.rate + '">' +
    '<a href="#nogo" tabindex="-1">' +
    '<span>' +
    '<div class="flag ' + element.code + '"></div>' +
    '<span class="ui-selectmenu-item-content">' +
    '<span class="currency-name">' + element.name + '</span>' +
    '<span class="currency-code">' + element.symbol + ' ' + element.big_code + '</span>' +
    '</span>' +
    '</span>' +
    '</a>' +
    '</li>';
});
货币\u组\u 0=[
{“代码”:“cad”,“大号代码”:“cad”,“名称”:“加元”,“符号”:“$”,“汇率”:0.97},
{“代码”:“欧元”,“大欧元代码”:“欧元”,“名称”:“欧元”,“符号”:“欧元”,“汇率”:0.7102},
{“代码”:“英镑”,“大号代码”:“英镑”,“名称”:“英镑”,“符号”:“英镑”,“汇率”:0.5196},
{“代码”:“hkd”,“大号代码”:“hkd”,“名称”:“港元”,“符号”:“$”,“汇率”:5.9853},
{“代码”:“日元”,“大号代码”:“日元”,“名称”:“日元”,“符号”:“¥”,“汇率”:92},
{“代码”:“nzd”,“big_代码”:“nzd”,“名称”:“新西兰元”,“符号”:“$”,“汇率”:1.0237},
{“代码”:“美元”,“大号代码”:“美元”,“名称”:“美元”,“符号”:“$”,“汇率”:0.7719}
];
货币\u组\u 0.forEach(函数(元素){
lis_0+=''+
“
  • ”+ '' + “
  • ”; });

    “元素”是做什么的?我不确定这段代码是如何工作的。不应该在某个地方有一个“this”吗?

    “element”充当循环中当前项的局部变量引用,而“this”将引用选择器的引用。

    实际上您正在使用forEach,因此它将逐个迭代数组中的每个元素。因此,第一次货币组0[0]将作为一个元素。

    当您在数组上循环时,
    元素是该数组中的每个对象

    +=
    包含数组元素并创建html

    var lis_0 = '';
    
    currencies_group_0 = [
        {"code":"cad", "big_code":"CAD", "name":"Canadian Dollars", "symbol":"$", "rate" : 0.97},
        {"code":"eur", "big_code":"EUR", "name":"Euros", "symbol":"€", "rate" : 0.7102},
        {"code":"gbp", "big_code":"GBP", "name":"British Pounds Sterling", "symbol":"£", "rate" : 0.5196},
        {"code":"hkd", "big_code":"HKD", "name":"Hong Kong Dollars", "symbol":"$", "rate" : 5.9853},
        {"code":"jpy", "big_code":"JPY", "name":"Japanese Yen", "symbol":"¥", "rate" : 92},
        {"code":"nzd", "big_code":"NZD", "name":"New Zealand Dollars", "symbol":"$", "rate" : 1.0237},
        {"code":"usd", "big_code":"USD", "name":"United States Dollars", "symbol":"$", "rate" : 0.7719}
    ];
    
    currencies_group_0.forEach(function(element) {
    
            lis_0 += '' +
            '<li class="ui-selectmenu-item-label" rate="' + element.rate + '">' +
            '<a href="#nogo" tabindex="-1">' +
            '<span>' +
            '<div class="flag ' + element.code + '"></div>' +
            '<span class="ui-selectmenu-item-content">' +
            '<span class="currency-name">' + element.name + '</span>' +
            '<span class="currency-code">' + element.symbol + ' ' + element.big_code + '</span>' +
            '</span>' +
            '</span>' +
            '</a>' +
            '</li>';
    
    
    });
    
    document.getElementById('html').innerHTML = lis_0;
    
    var lis_0='';
    货币组0=[
    {“代码”:“cad”,“大号代码”:“cad”,“名称”:“加元”,“符号”:“$”,“汇率”:0.97},
    {“代码”:“欧元”,“大欧元代码”:“欧元”,“名称”:“欧元”,“符号”:“欧元”,“汇率”:0.7102},
    {“代码”:“英镑”,“大号代码”:“英镑”,“名称”:“英镑”,“符号”:“英镑”,“汇率”:0.5196},
    {“代码”:“hkd”,“大号代码”:“hkd”,“名称”:“港元”,“符号”:“$”,“汇率”:5.9853},
    {“代码”:“日元”,“大号代码”:“日元”,“名称”:“日元”,“符号”:“¥”,“汇率”:92},
    {“代码”:“nzd”,“big_代码”:“nzd”,“名称”:“新西兰元”,“符号”:“$”,“汇率”:1.0237},
    {“代码”:“美元”,“大号代码”:“美元”,“名称”:“美元”,“符号”:“$”,“汇率”:0.7719}
    ];
    货币\u组\u 0.forEach(函数(元素){
    lis_0+=''+
    “
  • ”+ '' + “
  • ”; }); document.getElementById('html')。innerHTML=lis_0;

    我想你可以很容易地从文档中理解这一点。 在这里,每个元素都有每一行或每一项。 比如说

    0=>{“代码”:“cad”,“大号代码”:“cad”,“名称”:“加元”,“符号”:“$”,“汇率”:0.97}

    1=>{“代码”:“欧元”,“大号代码”:“欧元”,“名称”:“欧元”,“符号”:“欧元”,“汇率”:0.7102}

    。。。等等,这很直截了当。“元素”的名称

    也来自文档

    使用三个参数调用回调:

    元素值
    元素索引
    正在遍历的数组


    这很简单。阅读文档了解它的工作原理。由于数组有9个项,因此传递给forEach的函数将针对每个项调用9次。。。因此,
    element
    将引用调用函数的whci的项。应该正确命名,例如
    item
    而不是
    element
    ,因为它表示循环中数组中的每个项。检查此答案: