JS数组循环遍历常用的9种方法

JavaScript012

JS数组循环遍历常用的9种方法,第1张

首先定义一个数组

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)

 }

<script type="text/javascript">

//比如

var values=new Array()

values[0]="北京"

values[1]="天津"

....//其他省略

//遍历1

for(var i=0i<values.lengthi++){

alert(values[i])

}

//遍历2

for(var ele in values){

alert(values[ele])//下标

}

</script>

兄台,如果我没看错,你的 boxes[k] 应该是一个<input type="checkbox"/>

那么问题来了。 input[checkbox]的默认value你肯定是没有赋值吧??

我看你这个功能应该是多选删除吧?

你可以在每一个复选框input[checkbox]绑定一个你要删除的id(就是主键之类的了,反正后端能区分,或者你能辨别的就行了)

绑定的方式有很多种了,你可以用attribute(当然也可以用别的)

给你举个例子吧

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<ul>

<li>

<input type="checkbox" name="id[]" id="1"/>

id是1

</li>

<li>

<input type="checkbox" name="id[]" id="2"/>

id是2

</li>

<li>

<input type="checkbox" name="id[]" id="3"/>

id是3

</li>

<li>

<input type="checkbox" name="id[]"id="4"/>

id是4

</li>

<li>

<input type="checkbox" name="id[]" id="5"/>

id是5

</li>

</ul>

<button>删除选中</button>

<script type="text/javascript">

var btn = document.getElementsByTagName('button')[0]

function DelSelectDemo() {

var boxes = document.getElementsByName('id[]')

var checkVal = []

for (var key in boxes) {

if (boxes[key].checked) {

checkVal.push(boxes[key].getAttribute('id'))

}

}

alert(checkVal)

}

btn.addEventListener('click', DelSelectDemo, false)

</script>

</body>

</html>