JS之for循环嵌套

假设有这样的一组数据(请求返回的数据)

let items = [
		{id: 0, name: '老许', url: '..1'},
		{id: 1, name: '灵均', url: '..1'},
		{id: 2, name: '秀芝', url: '..1'},
		{id: 3, name: '郭pia子', url: '..1'},
		{id: 4, name: '许灵均', url: '..1'},
		{id: 5, name: '李秀芝', url: '..1'},
		{id: 6, name: '朱时茂', url: '..1'},
		{id: 7, name: '丛珊', url: '..1'},
		{id: 8, name: '赵本山', url: '..1'},
		{id: 9, name: '谢大脚', url: '..1'},
		{id: 10, name: '西门庆', url: '..1'},
		{id: 11, name: '安以轩', url: '..1'},
	]

有这么一个需求,将获得的数据处理成4个一组,简单点说就是每个ul中有4个li,具体ul的个数由li的总数来确定,好了话不多说,下面进入正文:

var nums = 4;//预设值
var dataSize = items.length;
var columns = dataSize/ nums;
var ul = '';
var li = '';
for(let i= 0; i< dataSize; i++){
	for(let j= 0; j< columns; j++){
		if(i/ nums == j){
			li = '';//这里置空li,避免重复塞入
			for(let m= i; m< (j+ 1)* nums ; m++){
				li += '<li>'+items[m].name+'</li>'
			}
			ul += '<ul class="wrap">'+li+'</ul>'
		}
	}
}
console.log(ul);//这里完成。

上诉循环有一个很奇妙的结果产生,即当预设nums不为4,比如nums= 7,那么下面的循环照样进行,比如上面的数据有12条,那么就是两个ul,第一个ul正常8个li,第二个ul则从9开始到11结束即三条数据,因为12/7>1,所有第二个循环走两次。

敢兴趣的大佬们,可以看看类CSDN的网站,纯属兴趣,侵权删:Gotham :)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值