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
,因为它表示循环中数组中的每个项。检查此答案: