将循环的JavaScript替换为u.each()函数
我试图用underline.js将循环的JavaScript替换为u.each()函数,javascript,for-loop,underscore.js,each,Javascript,For Loop,Underscore.js,Each,我试图用underline.jseach()函数替换JavaScript For循环 for (var x = 0; x < count; x++) { slider[x].setAttribute('id', arguments[x]); sliderPagination[x].setAttribute('id', arguments[x]+'Pagination'); // Initialise swiper var slider = new Slider('#'+a
each()
函数替换JavaScript For循环
for (var x = 0; x < count; x++) {
slider[x].setAttribute('id', arguments[x]);
sliderPagination[x].setAttribute('id', arguments[x]+'Pagination');
// Initialise swiper
var slider = new Slider('#'+arguments[x], {
pagination: '#'+arguments[x]+'Pagination',
loop:true,
grabCursor: true,
paginationClickable: true
})
}
我在这里假设您有3个阵列: -
滑块
-sliderPaginations
-参数
然后,您可以这样做:
_.each(sliders, function(slider, index) {
var argumentsVariable = arguments[index];
slider.setAttribute('id', argumentsVariable);
sliderPaginations[index].setAttribute('id', argumentsVariable+'Pagination');
// Initialise swiper
var slider = new Slider('#'+argumentsVariable, {
pagination: '#'+argumentsVariable+'Pagination',
loop:true,
grabCursor: true,
paginationClickable: true
})
}
请注意,您可以使用为每个数组定义的ECMAScript 5forEach
方法:
sliders.forEach(function(slider, index) {
var argumentsVariable = arguments[index];
slider.setAttribute('id', argumentsVariable);
sliderPagination.setAttribute('id', argumentsVariable+'Pagination');
// Initialise swiper
var slider = new Slider('#'+argumentsVariable, {
pagination: '#'+argumentsVariable+'Pagination',
loop:true,
grabCursor: true,
paginationClickable: true
})
}
每个都是用于迭代的,这看起来更像是时间的例子。注意到u.each和[].forEach并不完全相等,这可能很有趣。每个都可以与对象一起工作。每个都不会跳过未定义的值。[]forEach需要一个数组,并跳过未初始化的值。没错,感谢@Cristopher扩展了我的answerPerfect,这很有效。我已经在上面添加了完整正确的代码。Thks
sliders.forEach(function(slider, index) {
var argumentsVariable = arguments[index];
slider.setAttribute('id', argumentsVariable);
sliderPagination.setAttribute('id', argumentsVariable+'Pagination');
// Initialise swiper
var slider = new Slider('#'+argumentsVariable, {
pagination: '#'+argumentsVariable+'Pagination',
loop:true,
grabCursor: true,
paginationClickable: true
})
}