Javascript 检查数组值后,如果有更多元素,请重复此过程
所以我有一些元素需要在这几个月里动态地填充。现在,这个过程循环一次。是否有一种方法可以更改它,使它继续在该数组中循环,直到它用完html中的“.point”元素 JSJavascript 检查数组值后,如果有更多元素,请重复此过程,javascript,Javascript,所以我有一些元素需要在这几个月里动态地填充。现在,这个过程循环一次。是否有一种方法可以更改它,使它继续在该数组中循环,直到它用完html中的“.point”元素 JS var月数=['1月'、'2月'、'3月'、'4月'、'5月'、'6月'、'7月'、'8月'、'9月'、'10月'、'11月'、'12月']; var monthsLength=月数。长度; 变量点=$('.point'); 对于(变量i=0;i
var月数=['1月'、'2月'、'3月'、'4月'、'5月'、'6月'、'7月'、'8月'、'9月'、'10月'、'11月'、'12月'];
var monthsLength=月数。长度;
变量点=$('.point');
对于(变量i=0;i
我认为.filter()函数更适合于这个over.map()。您可以指定所需的“点”,它将只返回带有该点的项目。然后您可以随意使用该点数据。根据您的代码语法,我假设您使用的是JQuery
如果项目数小于或等于12,则可以从每个点的月份数组中移动元素
如果有超过12个点,那么最好使用mod division操作为数组的索引获取适当的月份。使用这种方法,您可以根据需要迭代月数组
注意:您可以使用浏览器的开发工具检查输出窗口中的元素以查看结果
var月数=['1月'、'2月'、'3月'、'4月'、'5月'、'6月'、'7月'、'8月'、'9月'、'10月'、'11月'、'12月'];
$('.point')。每个(函数(索引、值){
$(此).attr(“数据日期”,月份[索引%12]);
});代码>
感谢您的回答@zavg,但它仍然只在数组中循环一次。如果有12个以上的“.point”元素,则停止:(@grahamfk45c)我更新了答案
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var monthsLength = months.length;
var points = $('.point');
for (var i = 0; i < monthsLength; i++) {
var point = points[i];
if (!point) {
break;
}
point.setAttribute("data-date", months[i]);
}
$('.point').each(function() {
$(this).attr("data-date", months.shift());
});