js多次循环遍历怎么写?

JavaScript011

js多次循环遍历怎么写?,第1张

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>循环填充数据</title>

<style type="text/css">

td{

width: 50px

height: 50px

}

</style>

</head>

<body>

<table border="1" cellspacing="0" cellpadding="0">

<tr><th colspan="6">数据表格</th></tr>

<tr><td></td><td></td><td></td><td></td><td></td></tr>

<tr><td></td><td></td><td></td><td></td><td></td></tr>

<tr><td></td><td></td><td></td><td></td><td></td></tr>

<tr><td></td><td></td><td></td><td></td><td></td></tr>

<tr><td></td><td></td><td></td><td></td><td></td></tr>

<tr><td></td><td></td><td></td><td></td><td></td></tr>

</table>

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

<script type="text/javascript">

//模拟后台数据,数据量可变

var data = [{

message:"数据1"

},

{

message:"数据2"

},

{

message:"数据3"

},

{

message:"数据4"

},

{

message:"数据5"

},

{

message:"数据6"

},

{

message:"数据7"

},

{

message:"数据8"

},

{

message:"数据9"

},

{

message:"数据10"

}

]

var tdarr = $("td")//获取表格数量

var num1 = Math.floor(tdarr.length / data.length)//取商 表格数量除以后台数据数量

var num2 = tdarr.length % data.length//取余 表格数量除以后台数据数量

//console.log("num1:"+num1)

//console.log("num2:"+num2)

//将能整除的部分循环填充后台数据

for(var i=0i<num1i++){

$.each(data,function(index){

//console.log(index+i*data.length)

//console.log(data[index].message)

$(tdarr[index+i*data.length]).text(data[index].message)

})

}

//如果不能整除即取余不为0,则再循环补填未填充的表格

for(var i=0i<num2i++){

$(tdarr[data.length*num1+i]).text(data[i].message)

}

</script>

</body>

</html>

1、break;

 for(var i=1i<=5i++){

            if(i>2){

           break( 跳出循环 循环结束 下面的语句不执行了) }

            document.write(i)}

         在while循环中 使用break 

         打印出我是软件大道的程序员 5次 但是 第4次的时候就不打印了 

         let i=1

         while(i<=5){

          if(i==4){ break  }

            document.write('<br>我是软件大道的程序员'+i)

             i++}

        break语句用于终止某个循环,使程序跳到循环块外的下一条语句,

        在循环中位于break后的语句将不再执行,

        break 语句不仅可以用在for循环中,也可以用在其他循环中 ,

2、  continue;

for(var i=1i<=5i++){

        if(i==3){continue结束本次循环,进入下次循环 

            continue( 跳过 不会终止循环,但是会跳过本次循环) }

            if(i==3) continue

          document.write(i)}

        for(var i=1i<=5i++){

            let chenji = parseInt(prompt('第'+i+'位同学请输入成绩'))

             初级调试 使用console.log或者alert 

            console.log(chenji)

            alert(chenji) 

            if(chenji<0){

                 document.write('<br>第'+i+'位同学成绩有误')

                continue

                document.write('<br>终止程序')

                break }

else{document.write('<br>第'+i+'位同学请输入成绩:'+chenji)}

}

3、双重循环

首先定义一个数组

const arr = [1,2,3,4,5,6]

第一种:for循环

for (let i = 0i<arr.lengthi++){

   console.log(arr[i])

}

for(j=0,len=arr.lengthj<lenj++){}//这种方法基本上是所有循环遍历方法中性能最高的一种

第二种 for of (需要ES6支持) 性能要好于forin,但仍然比不上普通for循环

for (let value of arr){

       console.log(value)

}

第三种 for in 它的效率是最低的

for (let i in arr){

      console.log(arr[i])

 }

第四种 foreach() 实际上性能比普通for循环弱

    1、箭头函数写法

    arr.forEach(value =>{

        console.log(value)

    })

    2、普通函数写法

    arr.forEach(function(value){

       console.log(value)

     })

第五种 entries()

for (let [index, value] of arr.entries()) {

     console.log(value)

 }

第六种 keys()

for (let inx of arr.keys()){

console.log(arr[inx])

}

第七种 reduce()

1、箭头函数

arr.reduce((pre,cur)=>{

       console.log(cur)

 })

2、普通函数

arr.reduce(function(pre,cur){

     console.log(cur)

})

第八种 map() 但实际效率还比不上foreach

1、箭头函数

 arr.map(value=>{

       console.log(value)

 })

2、普通函数

arr.map(function(value){

      console.log(value)

})

第九种 values()

for (let value of arr.values()){

       console.log(value)

 }